#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_APPNAME_DRIVER "Driver" typedef struct { HGBool postCrashInfo; /* 是否上报崩溃信息 */ HGBool postUserBehavior; /* 是否上报用户行为 */ HGBool postDeviceInfo; /* 是否上报设备信息 */ }HGServerConfig; typedef struct { HGChar *version; /* 版本号 */ HGChar *desc; /* 版本描述 */ HGChar *bugInfo; /* BUG描述 */ HGChar *url; /* 安装包URL */ HGULonglong size; /* 安装包大小 */ HGChar *md5; /* 安装包MD5 */ }HGVersionInfo; /* HTTP下载回调, 如果需要停止下载返回非0, 否则返回0 */ typedef HGInt (*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 *desc); HGEXPORT HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc); HGEXPORT HGResult HGAPI HGVersion_PostCrashInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); HGEXPORT HGResult HGAPI HGVersion_PostUserFeedback(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc, const HGChar* feedback, const HGChar* contact); HGEXPORT HGResult HGAPI HGVersion_GetVersionList(HGVersionMgr mgr, const HGChar* appName, 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, HGChar* version, HGUInt maxLen); HGEXPORT HGResult HGAPI HGVersion_CompareVersion(const HGChar* version1, const HGChar* version2, HGInt* result); #endif /* __HGVERSION_H__ */