#ifndef __HGVERSION_H__ #define __HGVERSION_H__ #include "../base/HGDef.h" #include "../base/HGBaseErr.h" HG_DECLARE_HANDLE(HGVersionMgr); #define HGVERSION_APPNAME_SCANNER "Scanner" #define HGVERSION_OEMNAME_HUAGO "Huago" #define HGVERSION_OEMNAME_NEUTRAL "Neutral" #define HGVERSION_OEMNAME_HANVON "Hanvon" #define HGVERSION_OEMNAME_LANXUM "Lanxum" #define HGVERSION_OEMNAME_CUMTENN "Cumtenn" #define HGVERSION_OEMNAME_MICROTEK "Microtek" #define HGVERSION_OEMNAME_UNIS "Unis" #pragma pack(push) #pragma pack(4) typedef struct { HGBool postCrashInfo; /* 是否上报崩溃信息 */ HGBool postUserBehaviorInfo; /* 是否上报用户行为 */ HGBool postDeviceInfo; /* 是否上报设备信息 */ }HGServerConfig; typedef struct { HGChar *version; /* 版本号 */ HGChar *desc; /* 版本描述 */ HGChar *bugInfo; /* BUG描述 */ HGChar *url; /* 安装包URL */ HGULonglong size; /* 安装包大小 */ HGChar *md5; /* 安装包MD5 */ }HGVersionInfo; #pragma pack(pop) /* HTTP下载回调, 如果需要停止下载返回非0, 否则返回0 */ typedef HGInt (HGAPI *HGHttpDownloadFunc)(HGULonglong totalSize, HGULonglong nowSize, HGPointer param); HGEXPORT HGResult HGAPI HGVersion_CreateMgr(HGVersionMgr *mgr); HGEXPORT HGResult HGAPI HGVersion_DestroyMgr(HGVersionMgr mgr); HGEXPORT HGResult HGAPI HGVersion_GetServerConfig(HGVersionMgr mgr, HGServerConfig *config); HGEXPORT HGResult HGAPI HGVersion_PostInstallInfo(HGVersionMgr mgr, const HGChar *appName, const HGChar* oemName, const HGChar *desc); HGEXPORT HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc); HGEXPORT HGResult HGAPI HGVersion_PostCrashInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); HGEXPORT HGResult HGAPI HGVersion_PostUserFeedback(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* feedback, const HGChar* contact); // 设备信息 HGEXPORT HGResult HGAPI HGVersion_PostDeviceOpenInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGEXPORT HGResult HGAPI HGVersion_PostDeviceCloseInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGEXPORT HGResult HGAPI HGVersion_PostDeviceScanCountInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt scanCount); HGEXPORT HGResult HGAPI HGVersion_PostDeviceClearRollerInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGEXPORT HGResult HGAPI HGVersion_PostDeviceHistroyCountInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt histroyCount); HGEXPORT HGResult HGAPI HGVersion_PostDeviceRollerCountInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt rollerCount); HGEXPORT HGResult HGAPI HGVersion_PostDevicePaperJamInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); // 用户行为 HGEXPORT HGResult HGAPI HGVersion_PostUserOpenInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); HGEXPORT HGResult HGAPI HGVersion_PostUserCloseInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); HGEXPORT HGResult HGAPI HGVersion_PostUserLoginInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); HGEXPORT HGResult HGAPI HGVersion_PostUserLogoutInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); // 设备锁定信息 HGEXPORT HGResult HGAPI HGVersion_PostDeviceLockInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGBool isLock); HGEXPORT HGResult HGAPI HGVersion_GetVersionList(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, HGVersionInfo **info, HGUInt *count); HGEXPORT HGResult HGAPI HGVersion_HttpDownload(HGVersionMgr mgr, const HGChar *url, const HGChar *saveFilePath, HGHttpDownloadFunc func, HGPointer param); HGEXPORT HGResult HGAPI HGVersion_ReleaseVersionList(HGVersionInfo* info, HGUInt count); HGEXPORT HGResult HGAPI HGVersion_GetCurrVersion(const HGChar* appName, const HGChar* oemName, HGChar* version, HGUInt maxLen); HGEXPORT HGResult HGAPI HGVersion_CompareVersion(const HGChar* version1, const HGChar* version2, HGInt* result); HGEXPORT HGResult HGAPI HGVersion_BlackListCheck(HGVersionMgr mgr, const HGChar* devSN, HGBool *inList); // APP HGEXPORT HGResult HGAPI HGVersion_GetAppStatus(const HGChar* appName, const HGChar* oemName, HGBool *isRun); HGEXPORT HGResult HGAPI HGVersion_RunApp(const HGChar* appName, const HGChar* oemName); // 驱动 HGEXPORT HGResult HGAPI HGVersion_GetDriverVersionList(HGVersionMgr mgr, const HGChar* devType, HGVersionInfo** info, HGUInt* count); #endif /* __HGVERSION_H__ */