singletonwork.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef SINGLETONWORK_H
  2. #define SINGLETONWORK_H
  3. #include <QObject>
  4. #include <QMutex>
  5. #include <QSharedPointer>
  6. #include <QtSql/QSqlDatabase>
  7. #include <QtSql/QSqlQuery>
  8. #include <QtSql/QSql>
  9. #include <QtDebug>
  10. #include <QtSql/QSqlError>
  11. #include <QDir>
  12. #include "common/LHQLogAPI/LHQLogAPI.h"
  13. #include "common/LHHTTPAPI/lhhttpapi.h"
  14. #define LH_WRITE_DEBUG(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Debug, (x));
  15. #define LH_WRITE_ERROR(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Error, (x));
  16. #define LH_WRITE_COMMON(x) singletonWork::instance()->LHQLogAPI()->DoWriteLog(ELT_Log_Common, (x));
  17. /*
  18. * 备注:
  19. * 此文件是单利处理类,主要负责跨线程跨窗口间的通信
  20. * 是一个消息分发中心
  21. */
  22. class singletonWork :public QObject
  23. {
  24. Q_OBJECT
  25. public:
  26. ~singletonWork();
  27. public:
  28. static singletonWork* instance();
  29. static lhhttpapi* LhHttpAPI();
  30. static CLHQLogApi* LHQLogAPI();
  31. static QString GetServerID();
  32. static QString GetServerUrl();
  33. static QString GetServerDBID();
  34. static QString GetServerToken();
  35. static void SetServerID(QString strserid);
  36. static void SetServerUrl(QString strserurl);
  37. static void SetServerDBID(QString strserdbid);
  38. static void SetServerToken(QString strsertoken);
  39. private:
  40. singletonWork();
  41. singletonWork(const singletonWork&){}
  42. singletonWork* operator==(const singletonWork&){return NULL;}
  43. static CLHQLogApi* m_pLHQLogApi;
  44. static lhhttpapi* m_pLhHttpAPI;
  45. static QString sm_ServerID;//服务器ID
  46. static QString sm_ServerDBID;
  47. static QString sm_ServerUrl;
  48. static QString sm_ServerToken;
  49. private:
  50. static QMutex m_Mutex;
  51. static singletonWork* m_pInstance;
  52. };
  53. #endif // SINGLETONWORK_H