CModTools.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef CHROMIUM_CMODTOOLS_H
  2. #define CHROMIUM_CMODTOOLS_H
  3. #define CHROMIUM_TIMER_ID 0xF001
  4. #include <tuple>
  5. namespace Chromium{
  6. extern CRITICAL_SECTION g_csInvokFreeRDP;
  7. class CModTools{
  8. private:
  9. CEntityBase* m_pEntity;
  10. public:
  11. explicit CModTools(CEntityBase* pEntity);
  12. std::pair<ErrorCodeEnum, int> StartChromiumBrowser();
  13. bool killAllChromium(); //通过taskkill 关闭掉所有的cefclient
  14. void RestartProxyServer();
  15. std::pair<CSimpleStringA, int> ReadConfig(); //读本地配置,已废弃
  16. std::tuple<CSimpleStringA, CSimpleStringA, CSimpleStringA> ReadCenterConfigStr(CSimpleStringA entityName = "");
  17. };
  18. template<class T>
  19. class TimerOutHelper : public ITimerListener
  20. {
  21. public:
  22. typedef void (T::*FuncTimer)(void *pUserdata);
  23. TimerOutHelper(T *p, FuncTimer pTimerFunc, void *pUserData, bool bDeleteSelf = false)
  24. : m_pObject(p), m_pUserData(pUserData), m_pTimer(pTimerFunc), m_bDeleteSelf(bDeleteSelf) {}
  25. virtual void OnTimeout(DWORD dwTimerID)
  26. {
  27. (m_pObject->*m_pTimer)(m_pUserData);
  28. if (m_bDeleteSelf)
  29. delete this;
  30. }
  31. private:
  32. void *m_pUserData;
  33. T *m_pObject;
  34. FuncTimer m_pTimer;
  35. bool m_bDeleteSelf;
  36. };
  37. }
  38. #endif