| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef CHROMIUM_CMODTOOLS_H
- #define CHROMIUM_CMODTOOLS_H
- #define CHROMIUM_TIMER_ID 0xF001
- #include <tuple>
- #include <mutex>
- #include "guitask/enum.h"
- #include <memory>
- #include <boost/serialization/singleton.hpp>
- using boost::serialization::singleton;
- #if (defined _WIN32 || defined _WIN64)
- #define CEFCLIENT_NAME "cefclient.exe"
- #else
- #define CEFCLIENT_NAME "cefclient"
- #endif
- namespace Chromium{
- BETTER_ENUM(ERR_PAGE_REASON, int, CameraConfig, CardStoreIsBusy, MachineTypeError, TerminalManagerKickOut,
- TerminalManagerOff, breakdown, disabled, jobuncomplete, ErrNotify, normal)
- BETTER_ENUM(PAGE_TYPE, int, CameraConfig, TerminalManager, errPage, Ad, slv, init, TradeManager)
- BETTER_ENUM(TradeManageCodeEnum, int, Undefined, Trade, JobUncomplete, Disabled)
- BETTER_ENUM(TerminalManageCodeEnum, int, Off, On, KickOut)
-
- class CModTools : public singleton<CModTools>
- {
- private:
- CEntityBase* m_pEntity;
- public:
- void InitCModTools(CEntityBase* pEntity);
- std::pair<ErrorCodeEnum, int> StartChromiumBrowser(ERR_PAGE_REASON reason = ERR_PAGE_REASON::normal, std::tuple<std::string, std::string, std::string, DWORD, DWORD> exParam = {"", "", "", 0, 0});
- bool killAllChromium(); //通过taskkill 关闭掉所有的cefclient
- bool killChromiumByName(std::string name);
- void RestartProxyServer();
- TradeManageCodeEnum CheckJobLimited();
- private:
- std::pair<CSimpleStringA, int> ReadConfig(); //读本地配置,已废弃
- std::tuple<CSimpleStringA, CSimpleStringA, CSimpleStringA, CSimpleStringA, CSimpleStringA> ReadCenterConfigStr(CSimpleStringA entityName = "");
- std::pair<bool, std::string> getMainUrl();
- std::pair<bool, std::string> getAdUrl();
- std::pair<bool, std::string> getErrUrl();
- std::string generateCefclientCmd(bool isExtend, std::string mainUrl);
- std::string generateAdCmd(std::string AdUrl);
- std::pair<ErrorCodeEnum, int> openCef(std::string cmdline, bool isGuard = false);
- void cefClientGuardian(std::string cmdline);
- void openAdPage();
- std::pair<bool, std::string> GenerateErrPage(ERR_PAGE_REASON errType, std::tuple<std::string, std::string, std::string, DWORD, DWORD> exParam);
- std::string GetSpShellBootTime();
- bool isOutsidePad();
- void setLimitReason(const char* reason);
- int StandardToStamp(const char* str_time, bool dateOnly);
- bool CheckTradeRecord();
- private:
- CSimpleString m_strSite, m_strMachineType;
- };
- template<class T>
- class TimerOutHelper : public ITimerListener
- {
- public:
- typedef void (T::*FuncTimer)(void *pUserdata);
- TimerOutHelper(T *p, FuncTimer pTimerFunc, void *pUserData, bool bDeleteSelf = false)
- : m_pObject(p), m_pUserData(pUserData), m_pTimer(pTimerFunc), m_bDeleteSelf(bDeleteSelf) {}
- virtual void OnTimeout(DWORD dwTimerID)
- {
- (m_pObject->*m_pTimer)(m_pUserData);
- if (m_bDeleteSelf)
- delete this;
- }
- private:
- void *m_pUserData;
- T *m_pObject;
- FuncTimer m_pTimer;
- bool m_bDeleteSelf;
- };
- }
- #endif
|