123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #ifndef DEVICE_ADAPTER_CHECKER_H_
- #define DEVICE_ADAPTER_CHECKER_H_
- #include "DevEntityCommBase.hpp"
- #include "DevFSMCommBase.hpp"
- #include "toolkit.h"
- //Stand2S
- static const char* adapterList_4_stand2s[] = {
- "PinPad", "CardIssuer", "IDCertificate","ContactlessCard","HSPScanner", "FingerPrint", "WatchDog", "Gpio", "Ups" };
- //Stand1SPlus
- static const char* adapterList_4_stand1s[] = {
- "PinPad", "CardIssuer", "IDCertificate","ContactlessCard", "FingerPrint","Gpio" };
- struct AdapterRootConfigInfo
- {
- DWORD dwPort;
- DWORD dwBaudRate;
- DWORD dwParam1;
- DWORD dwParam2;
- CSimpleStringA strDepDirWithSlashOrFileName;
- AdapterRootConfigInfo() :dwPort(0), dwBaudRate(0), dwParam1(0), dwParam2(0), strDepDirWithSlashOrFileName(true) {}
- };
- struct VendorLibInfoEx : public VendorLibInfo
- {
- AdapterRootConfigInfo optCfg;
- bool Load(CSimpleStringA& adapterFilename);
- };
- class CAdapterLoader
- {
- public:
- CAdapterLoader(LPCTSTR lpcszAdapterName, CEntityBase* pEntity) {
- vendorLibInfo.strDevice = lpcszAdapterName;
- pEntityBase = pEntity;
- }
- ~CAdapterLoader() {}
- ErrorCodeEnum LoadConfigFromRootIni();
- bool IsNoAnyConfigure() const
- {
- return vendorLibInfo.IsNotConfig();
- }
- bool IsFullConfig() const
- {
- return vendorLibInfo.IsValid();
- }
- bool IsConfigIncomplete() const
- {
- return (!IsNoAnyConfigure() && !IsFullConfig());
- }
- ErrorCodeEnum GetAdapterFullPath(CSimpleStringA& strLibFullPath);
- CSimpleStringA GetAdaperFileName()
- {
- return vendorLibInfo.toLibNameString();
- }
- VendorLibInfoEx vendorLibInfo;
- private:
- CEntityBase* pEntityBase;
-
- };
- class CAdapterLoadChecker
- {
- public:
- CAdapterLoadChecker() {
- }
- ~CAdapterLoadChecker() {
- for (int i = 0; i < mAdapterConfigList.GetCount(); ++i) {
- if (mAdapterConfigList[i] != nullptr) {
- delete mAdapterConfigList[i];
- mAdapterConfigList[i] = nullptr;
- }
- }
- }
- void Init(CEntityBase* pEntity);
- bool IsThisFileConfigure(LPCTSTR fileName, AdapterRootConfigInfo* info = NULL);
- CAutoArray<CSimpleStringA> GetConfigedAdapterFileName(LPCTSTR device = "", LPCTSTR vendor = "");
- CAutoArray<AdapterRootConfigInfo> GetConfigedAdapterInfo(LPCTSTR device = "", LPCTSTR vendor = "");
- CAutoArray<CAdapterLoader*>& AdapterCoinfigList() { return mAdapterConfigList; }
- static ErrorCodeEnum CheckDeviceAndAdapterAvailable(const VendorLibInfoEx& vendorLibInfo, CSimpleStringA& strErrMsg);
- static ErrorCodeEnum EditLDLibraryPathForVendor(LPCTSTR filePath, BOOL fAdd);
- private:
- CAutoArray<CAdapterLoader*> mAdapterConfigList;
- };
- #endif
|