diff --git a/app/scanner/VersionDll.cpp b/app/scanner/VersionDll.cpp index 4956d0b2..d0357e31 100644 --- a/app/scanner/VersionDll.cpp +++ b/app/scanner/VersionDll.cpp @@ -15,6 +15,16 @@ VersionDll::VersionDll() m_funcReleaseVersionList = NULL; m_funcGetCurrVersion = NULL; m_funcCompareVersion = NULL; + m_funcPostDeviceOpenInfo = NULL; + m_funcPostDeviceCloseInfo = NULL; + m_funcPostDeviceScanCountInfo = NULL; + m_funcPostDeviceClearRollerInfo = NULL; + m_funcPostDeviceHistroyCountInfo = NULL; + m_funcPostDeviceRollerCountInfo = NULL; + m_funcPostUserOpenInfo = NULL; + m_funcPostUserCloseInfo = NULL; + m_funcPostUserLoginInfo = NULL; + m_funcPostUserLogoutInfo = NULL; m_mgr = NULL; Load(); @@ -128,6 +138,76 @@ HGResult VersionDll::Load() break; } + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceOpenInfo", (HGPointer *)&m_funcPostDeviceOpenInfo); + if (NULL == m_funcPostDeviceOpenInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceCloseInfo", (HGPointer *)&m_funcPostDeviceCloseInfo); + if (NULL == m_funcPostDeviceCloseInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceScanCountInfo", (HGPointer *)&m_funcPostDeviceScanCountInfo); + if (NULL == m_funcPostDeviceScanCountInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceClearRollerInfo", (HGPointer *)&m_funcPostDeviceClearRollerInfo); + if (NULL == m_funcPostDeviceClearRollerInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceHistroyCountInfo", (HGPointer *)&m_funcPostDeviceHistroyCountInfo); + if (NULL == m_funcPostDeviceHistroyCountInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostDeviceRollerCountInfo", (HGPointer *)&m_funcPostDeviceRollerCountInfo); + if (NULL == m_funcPostDeviceRollerCountInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostUserOpenInfo", (HGPointer *)&m_funcPostUserOpenInfo); + if (NULL == m_funcPostUserOpenInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostUserCloseInfo", (HGPointer *)&m_funcPostUserCloseInfo); + if (NULL == m_funcPostUserCloseInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostUserLoginInfo", (HGPointer *)&m_funcPostUserLoginInfo); + if (NULL == m_funcPostUserLoginInfo) + { + ok = false; + break; + } + + HGBase_GetDllProcAddress(m_dll, "HGVersion_PostUserLogoutInfo", (HGPointer *)&m_funcPostUserLogoutInfo); + if (NULL == m_funcPostUserLogoutInfo) + { + ok = false; + break; + } + m_funcCreateMgr(&m_mgr); if (NULL == m_mgr) { @@ -256,3 +336,103 @@ HGResult VersionDll::PostUserFeedback(const HGChar* appName, const HGChar* desc, return m_funcPostUserFeedback(m_mgr, appName, desc, feedback, contact); } + +HGResult VersionDll::PostDeviceOpenInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW) +{ + if (NULL == m_funcPostDeviceOpenInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceOpenInfo(m_mgr, devName, devSN, devType, devFW); +} + +HGResult VersionDll::PostDeviceCloseInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW) +{ + if (NULL == m_funcPostDeviceCloseInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceCloseInfo(m_mgr, devName, devSN, devType, devFW); +} + +HGResult VersionDll::PostDeviceScanCountInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW, HGUInt scanCount) +{ + if (NULL == m_funcPostDeviceScanCountInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceScanCountInfo(m_mgr, devName, devSN, devType, devFW, scanCount); +} + +HGResult VersionDll::PostDeviceClearRollerInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW) +{ + if (NULL == m_funcPostDeviceClearRollerInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceClearRollerInfo(m_mgr, devName, devSN, devType, devFW); +} + +HGResult VersionDll::PostDeviceHistroyCountInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW, HGUInt histroyCount) +{ + if (NULL == m_funcPostDeviceHistroyCountInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceHistroyCountInfo(m_mgr, devName, devSN, devType, devFW, histroyCount); +} + +HGResult VersionDll::PostDeviceRollerCountInfo(const HGChar *devName, const HGChar *devSN, const HGChar *devType, const HGChar *devFW, HGUInt rollerCount) +{ + if (NULL == m_funcPostDeviceRollerCountInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostDeviceRollerCountInfo(m_mgr, devName, devSN, devType, devFW, rollerCount); +} + +HGResult VersionDll::PostUserOpenInfo(const HGChar *appName) +{ + if (NULL == m_funcPostUserOpenInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostUserOpenInfo(m_mgr, appName); +} + +HGResult VersionDll::PostUserCloseInfo(const HGChar *appName) +{ + if (NULL == m_funcPostUserCloseInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostUserCloseInfo(m_mgr, appName); +} + +HGResult VersionDll::PostUserLoginInfo(const HGChar *appName) +{ + if (NULL == m_funcPostUserLoginInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostUserLoginInfo(m_mgr, appName); +} + +HGResult VersionDll::PostUserLogoutInfo(const HGChar *appName) +{ + if (NULL == m_funcPostUserLogoutInfo) + { + return HGBASE_ERR_FAIL; + } + + return m_funcPostUserLogoutInfo(m_mgr, appName); +} diff --git a/app/scanner/VersionDll.h b/app/scanner/VersionDll.h index 563c6038..d92c0f8e 100644 --- a/app/scanner/VersionDll.h +++ b/app/scanner/VersionDll.h @@ -23,6 +23,16 @@ public: HGResult PostCrashInfo(const HGChar* appName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); HGResult PostUserFeedback(const HGChar* appName, const HGChar* desc, const HGChar* feedback, const HGChar* contact); + HGResult PostDeviceOpenInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + HGResult PostDeviceCloseInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + HGResult PostDeviceScanCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt scanCount); + HGResult PostDeviceClearRollerInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + HGResult PostDeviceHistroyCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt histroyCount); + HGResult PostDeviceRollerCountInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt rollerCount); + HGResult PostUserOpenInfo(const HGChar* appName); + HGResult PostUserCloseInfo(const HGChar* appName); + HGResult PostUserLoginInfo(const HGChar* appName); + HGResult PostUserLogoutInfo(const HGChar* appName); private: typedef HGResult (HGAPI *HGVersion_CreateMgr)(HGVersionMgr *mgr); typedef HGResult (HGAPI *HGVersion_DestroyMgr)(HGVersionMgr mgr); @@ -35,6 +45,17 @@ private: typedef HGResult (HGAPI *HGVersion_GetCurrVersion)(const HGChar* appName, HGChar* version, HGUInt maxLen); typedef HGResult (HGAPI *HGVersion_CompareVersion)(const HGChar* version1, const HGChar* version2, HGInt* result); + typedef HGResult (HGAPI *HGVersion_PostDeviceOpenInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + typedef HGResult (HGAPI *HGVersion_PostDeviceCloseInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + typedef HGResult (HGAPI *HGVersion_PostDeviceScanCountInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt scanCount); + typedef HGResult (HGAPI *HGVersion_PostDeviceClearRollerInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); + typedef HGResult (HGAPI *HGVersion_PostDeviceHistroyCountInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt histroyCount); + typedef HGResult (HGAPI *HGVersion_PostDeviceRollerCountInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGUInt rollerCount); + typedef HGResult (HGAPI *HGVersion_PostUserOpenInfo)(HGVersionMgr mgr, const HGChar* appName); + typedef HGResult (HGAPI *HGVersion_PostUserCloseInfo)(HGVersionMgr mgr, const HGChar* appName); + typedef HGResult (HGAPI *HGVersion_PostUserLoginInfo)(HGVersionMgr mgr, const HGChar* appName); + typedef HGResult (HGAPI *HGVersion_PostUserLogoutInfo)(HGVersionMgr mgr, const HGChar* appName); + private: HGDll m_dll; HGVersion_CreateMgr m_funcCreateMgr; @@ -47,6 +68,17 @@ private: HGVersion_ReleaseVersionList m_funcReleaseVersionList; HGVersion_GetCurrVersion m_funcGetCurrVersion; HGVersion_CompareVersion m_funcCompareVersion; + + HGVersion_PostDeviceOpenInfo m_funcPostDeviceOpenInfo; + HGVersion_PostDeviceCloseInfo m_funcPostDeviceCloseInfo; + HGVersion_PostDeviceScanCountInfo m_funcPostDeviceScanCountInfo; + HGVersion_PostDeviceClearRollerInfo m_funcPostDeviceClearRollerInfo; + HGVersion_PostDeviceHistroyCountInfo m_funcPostDeviceHistroyCountInfo; + HGVersion_PostDeviceRollerCountInfo m_funcPostDeviceRollerCountInfo; + HGVersion_PostUserOpenInfo m_funcPostUserOpenInfo; + HGVersion_PostUserCloseInfo m_funcPostUserCloseInfo; + HGVersion_PostUserLoginInfo m_funcPostUserLoginInfo; + HGVersion_PostUserLogoutInfo m_funcPostUserLogoutInfo; HGVersionMgr m_mgr; }; diff --git a/app/scanner/mainwindow.cpp b/app/scanner/mainwindow.cpp index 96867fe5..6075efc3 100644 --- a/app/scanner/mainwindow.cpp +++ b/app/scanner/mainwindow.cpp @@ -102,6 +102,10 @@ MainWindow::MainWindow(QWidget *parent) ui->actionact_update->setVisible(false); ui->act_feedback->setVisible(false); } + else + { + m_versionDll->PostUserOpenInfo(HGVERSION_APPNAME_SCANNER); + } m_config.load(); @@ -2216,6 +2220,10 @@ void MainWindow::closeEvent(QCloseEvent *e) QDir dir = QDir(Dialog_ClrCache::getCachePath()); dir.removeRecursively(); QMainWindow::closeEvent(e); + if(m_versionDll->IsValid()) + { + m_versionDll->PostUserCloseInfo(HGVERSION_APPNAME_SCANNER); + } } int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigned int* len, void *param) @@ -2480,6 +2488,10 @@ void MainWindow::on_act_signIn_triggered() Dialog_Admin dlg(m_password, this); m_admin_loggedIn = dlg.exec(); updateActionStatus(); + if(m_versionDll->IsValid()) + { + m_versionDll->PostUserLoginInfo(HGVERSION_APPNAME_SCANNER); + } } void MainWindow::on_act_passwordChange_triggered() @@ -2514,6 +2526,10 @@ void MainWindow::on_act_signOut_triggered() m_admin_loggedIn = false; updateActionStatus(); } + if(m_versionDll->IsValid()) + { + m_versionDll->PostUserLogoutInfo(HGVERSION_APPNAME_SCANNER); + } } void MainWindow::on_act_log_triggered()