code_app/modules/version/HGVersion.h

57 lines
2.2 KiB
C
Raw Normal View History

#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
{
2022-07-14 01:41:51 +00:00
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);
2022-07-14 01:41:51 +00:00
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);
2022-07-14 01:41:51 +00:00
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__ */