OutilZT/sources/OutilZT.h
2017-07-20 11:11:06 -04:00

159 lines
4.6 KiB
C++

/*******************************************************************************
* *
* Société de Transports de Montréal. *
* 2012 *
* *
* Projet Zones Tests *
* *
* *
* *
*******************************************************************************/
/*
Description:
Description du fichier si nécessaire.
*/
/* ************************************************************************** */
/* Revision:
### 20121210 JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#ifndef OUTILZT_H
#define OUTILZT_H
#include "MainPanel.h"
#include "LogMgr.h"
#include "ZTData.h"
#include "Settings.h"
#include "TCPProtocol.h"
#include "ZTLogFilesMgr.h"
class COutilZT : public QObject
{
Q_OBJECT
public:
typedef enum
{
MODE_DATABASE,
MODE_NETWORK,
MODE_ZTLOG,
MODE_INVALID
}OutilZTMode;
COutilZT();
~COutilZT();
unsigned int Start();
QString GetLogDataPath();
QString GetTrainLogsTempPath();
void CleanTrainLogsTempPath();
static QString GetStationName(int StationID);
bool IsEngMode(){return mIsEngMode;}
//CLogList requests
void LogViewRequest(CLogElement* Element, CLogsListPage* caller);
unsigned int SetLogProtection(bool protection, CLogElement* Element, CLogsListPage *caller);
//CLogView requests
void LogViewCloseRequest(CLogViewPage *caller);
//CMainPage requests
void ShowOptionsRequest();
void HideOptionsRequest();
void ShowDatabaseMgrRequest();
void HideDatabaseMgrRequest();
void EnterDatabaseModeRequest();
void EnterNetworkModeRequest();
void EnterZTLogModeRequest();
void ShowZTLogRequest(QString Log, QString FocusText, int line = -1);
//Networkmode page requests
void ShowNetworkModeLogViewRequest();
void HideNetworkModeLogViewRequest();
void ShowRemoteTrainLogsViewPages();
void ShowRemoteControlPage();
void ShowRemoteLiveZTPage();
//Settings page requests
unsigned int DataSourceDirChanged(QString NewPath);
unsigned int NetworkDataChanged();
//DatabaseManager page requests
unsigned int LogsDatabaseChanged(QStringList *NewLogs);
unsigned int ZTLogFilesChanged();
unsigned int RebuildDatabaseFile();
//LogManager requests
unsigned int LogsDatabaseLoaded(CLogMgr *Caller, int Status);
unsigned int UpdateLogsList(CLogMgr *Caller);
unsigned int DatabaseFetchingBegin(CLogMgr *Caller);
unsigned int DatabaseFetchingTick(CLogMgr *Caller,int Index);
//ZTLogFilesPage requests
unsigned int ShowZTLogFile(QString FilePath);
//ZTLogFilesMgr requests
unsigned int ZTLogFilesDatabaseLoaded(CZTLogFilesMgr *Caller, int Status);
unsigned int ZTLogFilesFetchingBegin(CZTLogFilesMgr *Caller);
unsigned int ZTLogFilesFetchingTick(CZTLogFilesMgr *Caller, int Index, QString File = "");
//Network requests
unsigned int ConnectToZTRequest();
unsigned int DisconnectZTRequest();
unsigned int RxStationName(QString StationName);
unsigned int RefreshRemoteZTStatusRequest();
unsigned int RxZTStatus(const CTCPZTStatus &status);
unsigned int DownloadZTLogRequest();
unsigned int RxZTLog(QString ZTLog);
unsigned int DownloadTrainLogsRequest();
unsigned int DownloadTrainLogsBegin(int NbLogs);
unsigned int RxTrainLogData(QString FileName);
unsigned int RxTrainLogsDownloadFinished();
unsigned int DeleteRemoteZTLogRequest();
unsigned int RemoteZTLogDeleted(bool Success);
unsigned int SetZTFunctionsStatus(CTCPZTFunctionsStatus status);
unsigned int SetZTFunctionsSatusDone(bool succes);
bool mIsEngMode;
bool mCanImport;
bool mRebuildingDB;
private:
unsigned int InitZT();
Panel panel;
CLogMgr mDatabaseModeLogManager;
CLogMgr mNetworkModeLogManager;
CSettingsFileMgr mSettingsFileMgr;
CSettingsData mSettingsData;
CZTLogFilesMgr mZTLogFilesManager;
OutilZTMode mOutilZTMode;
protected:
bool eventFilter(QObject *obj, QEvent *event);
};
#endif // OUTILZT_H