選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

47 行
1.3 KiB

  1. #ifndef DIRPARSERTHREAD_H
  2. #define DIRPARSERTHREAD_H
  3. #include "GlobalDefine.h"
  4. #include <QDir>
  5. #include <QReadWriteLock>
  6. #include "TrainLogFileMgr.h"
  7. #include "ReportSettingsData.h"
  8. class CDirParserThread : public QObject
  9. {
  10. Q_OBJECT
  11. public:
  12. CDirParserThread();
  13. // void SetParsingInfo(QDir dir,QString Filter,bool KeepData = false);
  14. void SetParsingInfo(CReportProgramSettingsData ReportSettings, CReportConfigData ReportFilters, QList<QList<CLogElement *> *> *ReportDataContainer);
  15. void KillThread();
  16. int ParseDir(QDir dir, QList<CLogElement*> *Container);
  17. void GatherReportData(CReportProgramSettingsData ReportSettings, CReportConfigData ReportFilters);
  18. QStringList FilterDirectories(QDir BaseDir, QDate StartDate, QDate EndDate);
  19. private:
  20. QDir mRootDir;
  21. bool mKeepData;
  22. QReadWriteLock mMutex;
  23. bool mExecThread;
  24. QString mFilter;
  25. QList<QStringList> mReportDirectoriesList;
  26. CReportProgramSettingsData mReportSettings;
  27. CReportConfigData mReportFilters;
  28. QList<QList<CLogElement*>*> *mReportDataContainer;
  29. public slots:
  30. void ParseDirectories();
  31. signals:
  32. void NewLogParsed(QString,bool);
  33. void NewLogParsed(CLogElement*);
  34. void ParsingFinished(int);
  35. void EmptyDirParsed();
  36. void ThreadAborted();
  37. void ReportProgressStatus(QString);
  38. };
  39. #endif // DIRPARSERTHREAD_H