#ifndef DIRPARSERTHREAD_H #define DIRPARSERTHREAD_H #include "GlobalDefine.h" #include #include #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 *> *ReportDataContainer); void KillThread(); int ParseDir(QDir dir, QList *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 mReportDirectoriesList; CReportProgramSettingsData mReportSettings; CReportConfigData mReportFilters; QList*> *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