47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#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
|