YULTek/Otarcik_CAN/Sources/GeneralMessagesLogDispatcher.h

50 lines
1.3 KiB
C++

#ifndef GENERALMESSAGESLOGDISPATCHER_H
#define GENERALMESSAGESLOGDISPATCHER_H
#include <QString>
#include "defines.h"
#include "GeneralStatusPage.h"
#include <QFile>
#include <QStringList>
class CSysLogger;
class CGeneralMessagesLogDispatcher
{
public:
enum eGenMsgTextErrorStatus
{
GEN_MSG_TXT_NO_ERROR_STATUS = 0,
GEN_MSG_TXT_WARNING_STATUS,
GEN_MSG_TXT_ERROR_STATUS,
GEN_MSG_TXT_SUCCESS_STATUS,
GEN_MSG_TXT_MAX_STATUS
};
//CGeneralMessagesLogDispatcher is a singleton class
static CGeneralMessagesLogDispatcher* instance(){return &mSingleton;}
static CGeneralMessagesLogDispatcher mSingleton;
CGeneralMessagesLogDispatcher();
~CGeneralMessagesLogDispatcher();
int AddLogMessage(QString LogLine, QString Module, bool AddToGUILogPanel = true, int MsgVerbosity = 1, eGenMsgTextErrorStatus TxtErrStatus = GEN_MSG_TXT_NO_ERROR_STATUS);
CGeneralStatusPage *mGeneralStatusPageHandle;
int BindGuiPageHandle(CGeneralStatusPage *Handle);
int Init(CSysLogger *SysLoggerPtr);
int SetLogVerbosities(int LogFileVerbosity, int GuiLogVerbosity);
private:
QStringList mGeneralMsgGUILog;
QFile *mSystemLogFile;
int mLogFileVerbosity;
int mGuiLogVerbosity;
CSysLogger *mSysLoggerHandle;
};
#endif // GENERALMESSAGESLOGDISPATCHER_H