YULTek/Otarcik_CAN/Sources/GeneralMessagesLogDispatcher.cpp

84 lines
1.9 KiB
C++

#include "GeneralMessagesLogDispatcher.h"
//singleton instantiation
CGeneralMessagesLogDispatcher CGeneralMessagesLogDispatcher::mSingleton;
CGeneralMessagesLogDispatcher::CGeneralMessagesLogDispatcher()
{
mGeneralStatusPageHandle = 0;
mNbLinesInGUILog = 0;
}
CGeneralMessagesLogDispatcher::~CGeneralMessagesLogDispatcher()
{
}
int CGeneralMessagesLogDispatcher::AddLogMessage(QString LogLine, bool AddToGUILogPanel)
{
//TODO: Add text to log file...
LogLine.remove('\n');
LogLine.remove('\r');
LogLine.append('\n');
if(AddToGUILogPanel == true)
{
if(mNbLinesInGUILog == GENERAL_MESSAGES_MAX_LOG_LINES)
{
//Make shure we are able to remove first line
int FirstLineLength = mGeneralMsgGUILog.indexOf(QChar('\n'));
if(FirstLineLength != -1)
{
mGeneralMsgGUILog.remove(0,FirstLineLength+1);
mGeneralMsgGUILog.append(LogLine);
}
else
{
qDebug("Something fucked-up happened in CGeneralMessagesLogDispatch::AddLogMessage");
return RET_GENERAL_ERROR;
}
}
else
{
mGeneralMsgGUILog.append(LogLine);
mNbLinesInGUILog++;
}
if(mGeneralStatusPageHandle != 0)
{
mGeneralStatusPageHandle->SetGeneralMsgText(mGeneralMsgGUILog);
}
else
{
qDebug("Someone forgot to assing their pointers in CGeneralMessagesLogDispatch::AddLogMessage!! This needs to be fixed");
return RET_GENERAL_ERROR;
}
}
return RET_OK;
}
int CGeneralMessagesLogDispatcher::BindGuiPageHandle(CGeneralStatusPage *Handle)
{
if(Handle == 0)
{
return RET_GENERAL_ERROR;
}
else
{
mGeneralStatusPageHandle = Handle;
}
return RET_OK;
}