diff --git a/modules/version/HGVersion.cpp b/modules/version/HGVersion.cpp index 171206bf..df59cde6 100644 --- a/modules/version/HGVersion.cpp +++ b/modules/version/HGVersion.cpp @@ -40,7 +40,7 @@ HGResult HGAPI HGVersion_GetServerConfig(HGVersionMgr mgr, HGServerConfig* confi return versionMgrImpl->GetServerConfig(config); } -HGResult HGAPI HGVersion_PostInstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc) +HGResult HGAPI HGVersion_PostInstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc) { if (NULL == mgr) { @@ -48,10 +48,10 @@ HGResult HGAPI HGVersion_PostInstallInfo(HGVersionMgr mgr, const HGChar* appName } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostInstallInfo(appName, desc); + return versionMgrImpl->PostInstallInfo(appName, oemName, desc); } -HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc) +HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc) { if (NULL == mgr) { @@ -59,10 +59,10 @@ HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appNa } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUninstallInfo(appName, desc); + return versionMgrImpl->PostUninstallInfo(appName, oemName, desc); } -HGResult HGAPI HGVersion_PostCrashInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr) +HGResult HGAPI HGVersion_PostCrashInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr) { if (NULL == mgr) { @@ -70,10 +70,10 @@ HGResult HGAPI HGVersion_PostCrashInfo(HGVersionMgr mgr, const HGChar* appName, } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostCrashInfo(appName, desc, crashFilePath, exceptionAddr); + return versionMgrImpl->PostCrashInfo(appName, oemName, desc, crashFilePath, exceptionAddr); } -HGResult HGAPI HGVersion_PostUserFeedback(HGVersionMgr mgr, const HGChar* appName, const HGChar* desc, const HGChar* feedback, const HGChar* contact) +HGResult HGAPI HGVersion_PostUserFeedback(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* feedback, const HGChar* contact) { if (NULL == mgr) { @@ -81,7 +81,7 @@ HGResult HGAPI HGVersion_PostUserFeedback(HGVersionMgr mgr, const HGChar* appNam } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUserFeedback(appName, desc, feedback, contact); + return versionMgrImpl->PostUserFeedback(appName, oemName, desc, feedback, contact); } HGResult HGAPI HGVersion_PostDeviceOpenInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, @@ -168,7 +168,7 @@ HGResult HGAPI HGVersion_PostDevicePaperJamInfo(HGVersionMgr mgr, const HGChar* return versionMgrImpl->PostDevicePaperJamInfo(devName, devSN, devType, devFW); } -HGResult HGAPI HGVersion_PostUserOpenInfo(HGVersionMgr mgr, const HGChar* appName) +HGResult HGAPI HGVersion_PostUserOpenInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName) { if (NULL == mgr) { @@ -176,10 +176,10 @@ HGResult HGAPI HGVersion_PostUserOpenInfo(HGVersionMgr mgr, const HGChar* appNam } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUserOpenInfo(appName); + return versionMgrImpl->PostUserOpenInfo(appName, oemName); } -HGResult HGAPI HGVersion_PostUserCloseInfo(HGVersionMgr mgr, const HGChar* appName) +HGResult HGAPI HGVersion_PostUserCloseInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName) { if (NULL == mgr) { @@ -187,10 +187,10 @@ HGResult HGAPI HGVersion_PostUserCloseInfo(HGVersionMgr mgr, const HGChar* appNa } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUserCloseInfo(appName); + return versionMgrImpl->PostUserCloseInfo(appName, oemName); } -HGResult HGAPI HGVersion_PostUserLoginInfo(HGVersionMgr mgr, const HGChar* appName) +HGResult HGAPI HGVersion_PostUserLoginInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName) { if (NULL == mgr) { @@ -198,10 +198,10 @@ HGResult HGAPI HGVersion_PostUserLoginInfo(HGVersionMgr mgr, const HGChar* appNa } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUserLoginInfo(appName); + return versionMgrImpl->PostUserLoginInfo(appName, oemName); } -HGResult HGAPI HGVersion_PostUserLogoutInfo(HGVersionMgr mgr, const HGChar* appName) +HGResult HGAPI HGVersion_PostUserLogoutInfo(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName) { if (NULL == mgr) { @@ -209,7 +209,7 @@ HGResult HGAPI HGVersion_PostUserLogoutInfo(HGVersionMgr mgr, const HGChar* appN } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->PostUserLogoutInfo(appName); + return versionMgrImpl->PostUserLogoutInfo(appName, oemName); } HGResult HGAPI HGVersion_PostDeviceLockInfo(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, @@ -224,7 +224,7 @@ HGResult HGAPI HGVersion_PostDeviceLockInfo(HGVersionMgr mgr, const HGChar* devN return versionMgrImpl->PostDeviceLockInfo(devName, devSN, devType, devFW, isLock); } -HGResult HGAPI HGVersion_GetVersionList(HGVersionMgr mgr, const HGChar* appName, HGVersionInfo** info, HGUInt* count) +HGResult HGAPI HGVersion_GetVersionList(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, HGVersionInfo** info, HGUInt* count) { if (NULL == mgr) { @@ -232,7 +232,7 @@ HGResult HGAPI HGVersion_GetVersionList(HGVersionMgr mgr, const HGChar* appName, } HGVersionMgrImpl* versionMgrImpl = (HGVersionMgrImpl*)mgr; - return versionMgrImpl->GetVersionList(appName, info, count); + return versionMgrImpl->GetVersionList(appName, oemName, info, count); } HGResult HGAPI HGVersion_HttpDownload(HGVersionMgr mgr, const HGChar* url, const HGChar* saveFilePath, HGHttpDownloadFunc func, HGPointer param) @@ -251,9 +251,9 @@ HGResult HGAPI HGVersion_ReleaseVersionList(HGVersionInfo* info, HGUInt count) return HGVersionMgrImpl::ReleaseVersionList(info, count); } -HGResult HGAPI HGVersion_GetCurrVersion(const HGChar* appName, HGChar* version, HGUInt maxLen) +HGResult HGAPI HGVersion_GetCurrVersion(const HGChar* appName, const HGChar* oemName, HGChar* version, HGUInt maxLen) { - return HGVersionMgrImpl::GetCurrVersion(appName, version, maxLen); + return HGVersionMgrImpl::GetCurrVersion(appName, oemName, version, maxLen); } static std::vector split(std::string strtem, char a) diff --git a/modules/version/HGVersion.h b/modules/version/HGVersion.h index 735980de..b1405feb 100644 --- a/modules/version/HGVersion.h +++ b/modules/version/HGVersion.h @@ -8,6 +8,11 @@ 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" + #pragma pack(push) #pragma pack(4) @@ -40,13 +45,13 @@ 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_PostInstallInfo(HGVersionMgr mgr, const HGChar *appName, const HGChar* oemName, const HGChar *desc); -HGEXPORT HGResult HGAPI HGVersion_PostUninstallInfo(HGVersionMgr mgr, const HGChar* appName, 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* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); +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* desc, const HGChar* feedback, const HGChar* contact); +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, @@ -65,22 +70,22 @@ HGEXPORT HGResult HGAPI HGVersion_PostDevicePaperJamInfo(HGVersionMgr mgr, const const HGChar* devType, const HGChar* devFW); // 用户行为 -HGEXPORT HGResult HGAPI HGVersion_PostUserOpenInfo(HGVersionMgr mgr, const HGChar* appName); -HGEXPORT HGResult HGAPI HGVersion_PostUserCloseInfo(HGVersionMgr mgr, const HGChar* appName); -HGEXPORT HGResult HGAPI HGVersion_PostUserLoginInfo(HGVersionMgr mgr, const HGChar* appName); -HGEXPORT HGResult HGAPI HGVersion_PostUserLogoutInfo(HGVersionMgr mgr, const HGChar* appName); +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, HGVersionInfo **info, HGUInt *count); +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, HGChar* version, HGUInt maxLen); +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); diff --git a/modules/version/HGVersionImpl.cpp b/modules/version/HGVersionImpl.cpp index d8e834ea..9518983f 100644 --- a/modules/version/HGVersionImpl.cpp +++ b/modules/version/HGVersionImpl.cpp @@ -403,37 +403,22 @@ static std::string GetArchName() return archName; } -static std::string GetOemName() -{ - std::string oemName; -#if defined(OEM_HANWANG) - oemName = "Hanvon"; -#elif defined(OEM_LISICHENG) - oemName = "Lanxum"; -#elif defined(OEM_CANGTIAN) - oemName = "Cumtenn"; -#else - oemName = "Huago"; -#endif - return oemName; -} - -static std::string GetCurrVersion(const std::string& appName) +static std::string GetCurrVersion(const std::string& appName, const std::string& oemName) { std::string version = "0.0.0.0"; if (appName == HGVERSION_APPNAME_SCANNER) { #if defined(HG_CMP_MSC) -#if defined(OEM_HANWANG) - std::string regName = "SOFTWARE\\HanvonScan"; -#elif defined(OEM_LISICHENG) - std::string regName = "SOFTWARE\\LanxumScan"; -#elif defined(OEM_CANGTIAN) - std::string regName = "SOFTWARE\\CumtennScan"; -#else - std::string regName = "SOFTWARE\\HuaGoScan"; -#endif + std::string regName; + if (oemName == HGVERSION_OEMNAME_HANVON) + regName = "SOFTWARE\\HanvonScan"; + else if (oemName == HGVERSION_OEMNAME_LANXUM) + regName = "SOFTWARE\\LanxumScan"; + else if (oemName == HGVERSION_OEMNAME_CUMTENN) + regName = "SOFTWARE\\CumtennScan"; + else + regName = "SOFTWARE\\HuaGoScan"; HKEY hKey = NULL; RegOpenKeyExA(HKEY_LOCAL_MACHINE, regName.c_str(), 0, KEY_QUERY_VALUE, &hKey); @@ -453,27 +438,25 @@ static std::string GetCurrVersion(const std::string& appName) std::string osName = GetOSName(); if ("UnionTech" == osName) { -#if defined(OEM_HANWANG) - appName = "com.hanvonchina.hanvonscan"; -#elif defined(OEM_LISICHENG) - appName = "com.lanxumchina.lanxumscan"; -#elif defined(OEM_CANGTIAN) - appName = "com.cumtennchina.cumtennscan"; -#else - appName = "com.huagaochina.huagoscan"; -#endif + if (oemName == HGVERSION_OEMNAME_HANVON) + appName = "com.hanvonchina.hanvonscan"; + else if (oemName == HGVERSION_OEMNAME_LANXUM) + appName = "com.lanxumchina.lanxumscan"; + else if (oemName == HGVERSION_OEMNAME_CUMTENN) + appName = "com.cumtennchina.cumtennscan"; + else + appName = "com.huagaochina.huagoscan"; } else { -#if defined(OEM_HANWANG) - appName = "scanner-driver-hanvon"; -#elif defined(OEM_LISICHENG) - appName = "scanner-driver-lanxum"; -#elif defined(OEM_CANGTIAN) - appName = "scanner-driver-cumtenn"; -#else - appName = "scanner-driver-huagao"; -#endif + if (oemName == HGVERSION_OEMNAME_HANVON) + appName = "scanner-driver-hanvon"; + else if (oemName == HGVERSION_OEMNAME_LANXUM) + appName = "scanner-driver-lanxum"; + else if (oemName == HGVERSION_OEMNAME_CUMTENN) + appName = "scanner-driver-cumtenn"; + else + appName = "scanner-driver-huagao"; } std::string cmd = "dpkg -l " + appName; @@ -516,7 +499,7 @@ static bool Greater(const std::string& str1, const std::string& str2) return str1 > str2; } -static HGResult PostInfo(int type, const std::string& appName, const std::string& desc, const std::string& crashFileUrl, +static HGResult PostInfo(int type, const std::string& appName, const std::string& oemName, const std::string& desc, const std::string& crashFileUrl, const std::string& exceptionAddr, const std::string& feedbackInfo, const std::string& feedbackContact) { HGResult ret = HGBASE_ERR_FAIL; @@ -551,10 +534,9 @@ static HGResult PostInfo(int type, const std::string& appName, const std::string pstr += 2; } - std::string version = GetCurrVersion(appName); + std::string version = GetCurrVersion(appName, oemName); std::string osName = GetOSName(); std::string archName = GetArchName(); - std::string oemName = GetOemName(); std::string jsonStr; cJSON* json = cJSON_CreateObject(); @@ -631,17 +613,17 @@ static HGResult PostInfo(int type, const std::string& appName, const std::string return ret; } -static HGResult PostInstallInfo(const std::string& appName, const std::string& desc) +static HGResult PostInstallInfo(const std::string& appName, const std::string& oemName, const std::string& desc) { - return PostInfo(1, appName, desc, "", "", "", ""); + return PostInfo(1, appName, oemName, desc, "", "", "", ""); } -static HGResult PostUninstallInfo(const std::string& appName, const std::string& desc) +static HGResult PostUninstallInfo(const std::string& appName, const std::string& oemName, const std::string& desc) { - return PostInfo(2, appName, desc, "", "", "", ""); + return PostInfo(2, appName, oemName, desc, "", "", "", ""); } -static HGResult PostCrashInfo(const std::string &appName, const std::string &desc, const std::string& crashFilePath, const std::string& exceptionAddr) +static HGResult PostCrashInfo(const std::string &appName, const std::string& oemName, const std::string &desc, const std::string& crashFilePath, const std::string& exceptionAddr) { std::string crashFileUrl; HGResult ret = CrashFileUpload(crashFilePath, crashFileUrl); @@ -650,12 +632,12 @@ static HGResult PostCrashInfo(const std::string &appName, const std::string &des return ret; } - return PostInfo(3, appName, desc, crashFileUrl, exceptionAddr, "", ""); + return PostInfo(3, appName, oemName, desc, crashFileUrl, exceptionAddr, "", ""); } -static HGResult PostUserFeedback(const std::string& appName, const std::string& desc, const std::string& feedback, const std::string& contact) +static HGResult PostUserFeedback(const std::string& appName, const std::string& oemName, const std::string& desc, const std::string& feedback, const std::string& contact) { - return PostInfo(4, appName, desc, "", "", feedback, contact); + return PostInfo(4, appName, oemName, desc, "", "", feedback, contact); } static HGResult PostDeviceInfo(const std::string& devName, const std::string& devSN, const std::string& devType, @@ -836,7 +818,7 @@ static HGResult PostDeviceLockInfo(const std::string& devName, const std::string return ret; } -static HGResult PostUserInfo(const std::string& appName, HGUInt powerOn, HGUInt powerOff, HGUInt login, HGUInt logout) +static HGResult PostUserInfo(const std::string& appName, const std::string& oemName, HGUInt powerOn, HGUInt powerOff, HGUInt login, HGUInt logout) { HGResult ret = HGBASE_ERR_FAIL; CURL* curl = curl_easy_init(); @@ -870,10 +852,9 @@ static HGResult PostUserInfo(const std::string& appName, HGUInt powerOn, HGUInt pstr += 2; } - std::string version = GetCurrVersion(appName); + std::string version = GetCurrVersion(appName, oemName); std::string osName = GetOSName(); std::string archName = GetArchName(); - std::string oemName = GetOemName(); std::string jsonStr; cJSON* json = cJSON_CreateObject(); @@ -942,7 +923,7 @@ static HGResult PostUserInfo(const std::string& appName, HGUInt powerOn, HGUInt return ret; } -static HGResult GetVersionList(const std::string& appName, std::list &versionList) +static HGResult GetVersionList(const std::string& appName, const std::string& oemName, std::list &versionList) { versionList.clear(); @@ -954,7 +935,6 @@ static HGResult GetVersionList(const std::string& appName, std::list