#ifndef __HGVERSIONIMPL_HPP__ #define __HGVERSIONIMPL_HPP__ #include "HGVersion.h" #include "../base/HGMsgPump.h" #include "../base/HGThread.h" class HGVersionMgrImpl { public: HGVersionMgrImpl(); ~HGVersionMgrImpl(); HGResult GetServerConfig(HGServerConfig* config); HGResult PostInstallInfo(const HGChar* appName, const HGChar* desc); HGResult PostUninstallInfo(const HGChar* appName, const HGChar* desc); HGResult PostCrashInfo(const HGChar* appName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); HGResult PostUserFeedback(const HGChar* appName, const HGChar* desc, const HGChar* feedback, const HGChar* contact); // 设备信息 HGResult PostDeviceOpenInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGResult PostDeviceCloseInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGResult PostDeviceScanCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt scanCount); HGResult PostDeviceClearRollerInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGResult PostDeviceHistroyCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt histroyCount); HGResult PostDeviceRollerCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt rollerCount); // 用户行为 HGResult PostUserOpenInfo(const HGChar* appName); HGResult PostUserCloseInfo(const HGChar* appName); HGResult PostUserLoginInfo(const HGChar* appName); HGResult PostUserLogoutInfo(const HGChar* appName); HGResult GetVersionList(const HGChar* appName, HGVersionInfo** info, HGUInt* count); HGResult HttpDownload(const HGChar* url, const HGChar* saveFilePath, HGHttpDownloadFunc func, HGPointer param); static HGResult ReleaseVersionList(HGVersionInfo *info, HGUInt count); static HGResult GetCurrVersion(const HGChar* appName, HGChar* version, HGUInt maxLen); private: static void ThreadFunc(HGThread thread, HGPointer param); static void MsgPumpFunc(HGMsgPump msgPump, const HGMsg* msg, HGPointer param); private: HGServerConfig m_serverCfg; HGMsgPump m_msgPump; HGThread m_thread; }; #endif /* __HGVERSIONIMPL_HPP__ */