#ifndef SINGLETONWORK_H #define SINGLETONWORK_H #include #include #include #include #include #include #include #include #include #include "common/LHQLogAPI/LHQLogAPI.h" #include "common/LHHTTPAPI/lhhttpapi.h" #define LH_WRITE_DEBUG(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Debug, (x)); #define LH_WRITE_ERROR(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Error, (x)); #define LH_WRITE_COMMON(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Common, (x)); /* * 备注: * 此文件是单利处理类,主要负责跨线程跨窗口间的通信 * 是一个消息分发中心 */ class singletonWork :public QObject { Q_OBJECT public: ~singletonWork(); public: static singletonWork* instance(); static lhhttpapi* LhHttpAPI(); static CLHQLogApi* LHQLogAPI(); static QString GetServerID(); static QString GetServerUrl(); static QString GetServerDBID(); static QString GetServerToken(); static void SetServerID(QString strserid); static void SetServerUrl(QString strserurl); static void SetServerDBID(QString strserdbid); static void SetServerToken(QString strsertoken); private: singletonWork(); singletonWork(const singletonWork&){} singletonWork* operator==(const singletonWork&){return NULL;} static CLHQLogApi* m_pLHQLogApi; static lhhttpapi* m_pLhHttpAPI; static QString sm_ServerID;//服务器ID static QString sm_ServerDBID; static QString sm_ServerUrl; static QString sm_ServerToken; private: static QMutex m_Mutex; static singletonWork* m_pInstance; }; #endif // SINGLETONWORK_H