#ifndef VERSIONDLL_H #define VERSIONDLL_H #include "version/HGVersion.h" #include "base/HGDll.h" class VersionDll { public: VersionDll(); ~VersionDll(); HGResult Load(); HGResult Free(); HGBool IsValid(); HGResult GetServerConfig(HGServerConfig *config); HGResult GetVersionList(const HGChar* appName, const HGChar* oemName, HGVersionInfo **info, HGUInt *count); HGResult GetDriverVersionList(const HGChar* devType, HGVersionInfo** info, HGUInt* count); HGResult BlackListCheck(const HGChar* devSN, HGBool* inList); HGResult HttpDownload(const HGChar *url, const HGChar *saveFilePath, HGHttpDownloadFunc func, HGPointer param); HGResult ReleaseVersionList(HGVersionInfo* info, HGUInt count); HGResult GetCurrVersion(const HGChar* appName, const HGChar* oemName, HGChar* version, HGUInt maxLen); HGResult CompareVersion(const HGChar* version1, const HGChar* version2, HGInt* result); HGResult PostCrashInfo(const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); HGResult PostUserFeedback(const HGChar* appName, const HGChar* oemName, 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, const HGChar* oemName); HGResult PostUserCloseInfo(const HGChar* appName, const HGChar* oemName); HGResult PostUserLoginInfo(const HGChar* appName, const HGChar* oemName); HGResult PostUserLogoutInfo(const HGChar* appName, const HGChar* oemName); HGResult PostDevicePaperJamInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); HGResult HGAPI PostDeviceLockInfo(const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGBool isLock); private: typedef HGResult (HGAPI *HGVersion_CreateMgr)(HGVersionMgr *mgr); typedef HGResult (HGAPI *HGVersion_DestroyMgr)(HGVersionMgr mgr); typedef HGResult (HGAPI *HGVersion_GetServerConfig)(HGVersionMgr mgr, HGServerConfig *config); typedef HGResult (HGAPI *HGVersion_GetVersionList)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, HGVersionInfo **info, HGUInt *count); typedef HGResult (HGAPI *HGVersion_GetDriverVersionList)(HGVersionMgr mgr, const HGChar* devType, HGVersionInfo** info, HGUInt* count); typedef HGResult (HGAPI *HGVersion_BlackListCheck)(HGVersionMgr mgr, const HGChar* devSN, HGBool* inList); typedef HGResult (HGAPI *HGVersion_PostCrashInfo)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* crashFilePath, const HGChar* exceptionAddr); typedef HGResult (HGAPI *HGVersion_PostUserFeedback)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName, const HGChar* desc, const HGChar* feedback, const HGChar* contact); typedef HGResult (HGAPI *HGVersion_HttpDownload)(HGVersionMgr mgr, const HGChar *url, const HGChar *saveFilePath, HGHttpDownloadFunc func, HGPointer param); typedef HGResult (HGAPI *HGVersion_ReleaseVersionList)(HGVersionInfo* info, HGUInt count); typedef HGResult (HGAPI *HGVersion_GetCurrVersion)(const HGChar* appName, const HGChar* oemName, 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, const HGChar* oemName); typedef HGResult (HGAPI *HGVersion_PostUserCloseInfo)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); typedef HGResult (HGAPI *HGVersion_PostUserLoginInfo)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); typedef HGResult (HGAPI *HGVersion_PostUserLogoutInfo)(HGVersionMgr mgr, const HGChar* appName, const HGChar* oemName); typedef HGResult (HGAPI *HGVersion_PostDevicePaperJamInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW); typedef HGResult (HGAPI *HGVersion_PostDeviceLockInfo)(HGVersionMgr mgr, const HGChar* devName, const HGChar* devSN, const HGChar* devType, const HGChar* devFW, HGBool isLock); private: HGDll m_dll; HGVersion_CreateMgr m_funcCreateMgr; HGVersion_DestroyMgr m_funcDestroyMgr; HGVersion_GetServerConfig m_funcGetServerConfig; HGVersion_GetVersionList m_funcGetVersionList; HGVersion_GetDriverVersionList m_funcGetDriverVersionList; HGVersion_BlackListCheck m_funcBlackListCheck; HGVersion_PostCrashInfo m_funcPostCrashInfo; HGVersion_PostUserFeedback m_funcPostUserFeedback; HGVersion_HttpDownload m_funcHttpDownload; 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; HGVersion_PostDevicePaperJamInfo m_funcPostDevicePaperJamInfo; HGVersion_PostDeviceLockInfo m_funcPostDeviceLockInfo; HGVersionMgr m_mgr; }; #endif /* VERSIONDLL_H */