code_app/modules/version/HGVersion.h

99 lines
4.7 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_OEMNAME_HUAGO "Huago"
#define HGVERSION_OEMNAME_HANVON "Hanvon"
#define HGVERSION_OEMNAME_LANXUM "Lanxum"
#define HGVERSION_OEMNAME_CUMTENN "Cumtenn"
2023-01-29 08:31:04 +00:00
#define HGVERSION_OEMNAME_MICROTEK "Microtek"
2023-03-10 10:20:21 +00:00
#define HGVERSION_OEMNAME_UNIS "Unis"
#pragma pack(push)
#pragma pack(4)
typedef struct
{
HGBool postCrashInfo; /* 是否上报崩溃信息 */
HGBool postUserBehaviorInfo; /* 是否上报用户行为 */
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;
#pragma pack(pop)
/* HTTP下载回调, 如果需要停止下载返回非0, 否则返回0
*/
2022-10-12 03:41:13 +00:00
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);
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, 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);
// 驱动
HGEXPORT HGResult HGAPI HGVersion_GetDriverVersionList(HGVersionMgr mgr, const HGChar* devType, HGVersionInfo** info, HGUInt* count);
#endif /* __HGVERSION_H__ */