2017-12-21 Fred Gleason <fredg@paravelsystems.com>

* Added log locking logic to rdlogmanager(1).
This commit is contained in:
Fred Gleason
2017-12-21 14:27:07 -05:00
parent 97a6045992
commit 54a807fe3d
21 changed files with 413 additions and 51 deletions

View File

@@ -27,6 +27,7 @@
#include <qsqldatabase.h>
#include "rdconfig.h"
#include "rdloglock.h"
#include "rdstation.h"
#include "rduser.h"
@@ -86,10 +87,13 @@ class RDSvc : public QObject
const QString &track_str,const QString &dest_table)
const;
bool generateLog(const QDate &date,const QString &logname,
const QString &nextname,QString *report,RDUser *user);
const QString &nextname,QString *report,RDUser *user,
QString *err_msg);
bool linkLog(RDSvc::ImportSource src,const QDate &date,
const QString &logname,QString *report);
void clearLogLinks(RDSvc::ImportSource src,const QString &logname);
const QString &logname,QString *report,RDUser *user,
QString *err_msg);
bool clearLogLinks(RDSvc::ImportSource src,const QString &logname,
RDUser *user,QString *err_msg);
void create(const QString exemplar) const;
void remove() const;
QString xml() const;
@@ -104,6 +108,7 @@ class RDSvc : public QObject
void generationProgress(int step);
private:
bool TryLock(RDLogLock *lock,QString *err_msg);
QString SourceString(ImportSource src) const;
QString OsString(ImportOs os) const;
QString FieldString(ImportField field) const;