|
- #ifndef DIRPARSERTHREAD_H
- #define DIRPARSERTHREAD_H
- #include "GlobalDefine.h"
- #include <QDir>
- #include <QReadWriteLock>
- #include "TrainLogFileMgr.h"
- #include "ReportSettingsData.h"
-
- class CDirParserThread : public QObject
- {
- Q_OBJECT
- public:
- CDirParserThread();
- // void SetParsingInfo(QDir dir,QString Filter,bool KeepData = false);
- void SetParsingInfo(CReportProgramSettingsData ReportSettings, CReportConfigData ReportFilters, QList<QList<CLogElement *> *> *ReportDataContainer);
- void KillThread();
- int ParseDir(QDir dir, QList<CLogElement*> *Container);
-
- void GatherReportData(CReportProgramSettingsData ReportSettings, CReportConfigData ReportFilters);
- QStringList FilterDirectories(QDir BaseDir, QDate StartDate, QDate EndDate);
-
- private:
- QDir mRootDir;
- bool mKeepData;
- QReadWriteLock mMutex;
- bool mExecThread;
- QString mFilter;
- QList<QStringList> mReportDirectoriesList;
-
- CReportProgramSettingsData mReportSettings;
- CReportConfigData mReportFilters;
- QList<QList<CLogElement*>*> *mReportDataContainer;
-
- public slots:
- void ParseDirectories();
-
- signals:
- void NewLogParsed(QString,bool);
- void NewLogParsed(CLogElement*);
- void ParsingFinished(int);
- void EmptyDirParsed();
- void ThreadAborted();
- void ReportProgressStatus(QString);
- };
-
- #endif // DIRPARSERTHREAD_H
|