code_app/modules/version/HGVersionImpl.hpp

66 lines
2.8 KiB
C++

#ifndef __HGVERSIONIMPL_HPP__
#define __HGVERSIONIMPL_HPP__
#include "HGVersion.h"
#include "../base/HGLock.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 PostDevicePaperJamInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType,
const HGChar* devFW);
// 用户行为
HGResult PostUserOpenInfo(const HGChar* appName);
HGResult PostUserCloseInfo(const HGChar* appName);
HGResult PostUserLoginInfo(const HGChar* appName);
HGResult PostUserLogoutInfo(const HGChar* appName);
// 设备锁定日志
HGResult PostDeviceLockInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType,
const HGChar* devFW, HGBool isLock);
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);
HGResult BlackListCheck(const HGChar* devSN, HGBool* inList);
HGResult GetDriverVersionList(const HGChar* devType, HGVersionInfo** info, HGUInt* count);
private:
static void HGAPI ThreadFunc(HGThread thread, HGPointer param);
static void HGAPI MsgPumpFunc(HGMsgPump msgPump, const HGMsg* msg, HGPointer param);
private:
HGLock m_lock;
HGServerConfig m_serverCfg;
HGMsgPump m_msgPump;
HGThread m_thread;
};
#endif /* __HGVERSIONIMPL_HPP__ */