ZTStats/Sources/ZTLogFilesMgr.h
2024-08-09 12:11:50 -04:00

84 lines
2.4 KiB
C++

/*******************************************************************************
* *
* Société de Transports de Montréal. *
* 2012 - 2013 *
* *
* Projet Zones Tests *
* *
* *
* *
*******************************************************************************/
/*
Description:
Cette classe est responsable de la création d'une liste de tous lesfichiers
ZTLog présents dans la base de données. À ne pas confondre avec les fichiers
de passage.
*/
/* ************************************************************************** */
/* Revision:
### 20150227 JFM
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#ifndef ZTLOGFILESMGR_H
#define ZTLOGFILESMGR_H
#include "ZTData.h"
#include "GlobalDefine.h"
#include <QList>
#include <QDir>
#include "DirParserThread.h"
#include <QThread>
#include <QTimer>
class COutilZT;
class CZTLogFilesMgr: public QObject
{
Q_OBJECT
public:
CZTLogFilesMgr();
~CZTLogFilesMgr();
COutilZT *mProgramHandle;
void DestroyZTLogFilesList();
void ParseZTLogFiles(bool RebuildDatabase);
bool ExtractLogInfo(QString LogFilePath);
void SetLogDataDir(QString Dir){mLogDatabaseDir = Dir;}
QList<CZTLogFileInfo> *GetZTLogsList(){return &mZTLogFilesList;}
int GetZTLogFilesCount();
int SaveDatabaseFile();
private:
QList<CZTLogFileInfo> mZTLogFilesList;
QString mLogDatabaseDir;
QThread *mDirParserThread;
CDirParserThread *mDirParserWorkerThread;
QTimer *mDatabaseParsingTimer;
bool mSaveDBFile;
int ParseDir(QDir dir);
public slots:
void NewZTLogParsed(QString,bool);
void DirParsingFinished(int);
void ParsingTimerExpired();
void EmptyDirParsed();
void ThreadQuit();
void ThreadTerminated();
};
#endif // ZTLOGFILESMGR_H