Forráskód Böngészése

#IQRV #comment bOpen函数&UIState重构

80374374 7 hónapja
szülő
commit
f1e32a5c9d

+ 18 - 0
Module/include/DevFSMCommBase.hpp

@@ -1012,10 +1012,28 @@ public:
 
 	virtual void SetDevInitFlag(bool val = true) { m_bOpened = val; }
 	bool GetDevInitFlag() const { return m_bOpened; }
+
+	virtual void SetDevInitingFlag(bool val = true) { m_bOpening = val; }
 	bool GetDevInitingFlag() const { return m_bOpening; }
 
 	virtual void SetInWhatPage(int iPageType) { m_iInWhatPage = iPageType; }
 
+	void OnUIState4SetWhatPage(const char* pcszValue) {
+		if (pcszValue != NULL && strlen(pcszValue) > 0) {
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("test===%s", pcszValue);
+			//增加页面位置判断
+			if (_strnicmp(pcszValue, "M", strlen("M")) == 0) {
+				SetInWhatPage(PageType_MainPage);
+			}
+			else if (_strnicmp(pcszValue, "U", strlen("U")) == 0) {
+				SetInWhatPage(PageType_UserDesktop);
+			}
+			else {
+				SetInWhatPage(PageType_Other);
+			}
+		}
+	}
+
 	virtual DevStateEnum GetDevState() const { return m_eDevState; }
 	void SetDevState(DevStateEnum val) { m_eDevState = val; }
 

+ 5 - 4
Module/mod_CardIssuerStand/CardIssuerFSM.cpp

@@ -1530,7 +1530,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
 	}
 	long l_beginTime,l_endTime;
 	do {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CreateDevComponent suc. m_port:%d, m_baudRate:%d, pDevSN:%s",
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CreateDevComponent suc. port:%d, baudRate:%d, pDevSN:%s",
 			m_adapterInfo.GetPortInt(), m_adapterInfo.GetBaudrateInt(), pDevSN);
 
 		l_beginTime = GetTickCountRVC();
@@ -1541,7 +1541,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
 		{
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpenEx").setCostTime(l_endTime - l_beginTime)("OpenDevice::DevOpenEx, openType:%d, connectType:%d", btOpenType, m_connectType);
 			ToLogRootINIInfo();
-			m_bOpened = true;
+			SetDevInitFlag(true);
 			m_devOpenFailedCount = 0;
 			ZeroMemory(m_devCat.szModel, sizeof(m_devCat.szModel));
 			ZeroMemory(m_devCat.szType, sizeof(m_devCat.szType));
@@ -1741,7 +1741,7 @@ int CCardIssuerFSM::Initial()
 	{
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("OpenDevice in Initial return failed with errCode:%d(0x%x)", errCode, errCode);
 		CloseAndClearDevObj(false);
-		m_bOpened = false;
+		SetDevInitFlag(false);
 	}
 	m_bOpening = false;
 	return errCode;
@@ -5172,7 +5172,8 @@ void CCardIssuerFSM::CloseAndClearDevObj(bool bCheckConnecting, bool bCloseOnly)
 	if (m_hDevHelper != nullptr && !bCloseOnly)
 	{
 		m_hDevHelper.TearDown();
-		m_bOpened = false;//硬件适配器关闭,则设置打开失败
+		SetDevInitFlag(false);
+		//硬件适配器关闭,则设置打开失败
 	}
 }
 

+ 1 - 10
Module/mod_CardIssuerStand/mod_cardissuer.cpp

@@ -149,16 +149,7 @@ void CCardIssuerEntity::OnSysVarEvent(const char* pszKey, const char* pszValue,
 {
 	if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0))
 	{
-		if (_strnicmp(pszValue, "M", strlen("M")) == 0) {
-			m_fsm.SetInWhatPage(PageType_MainPage);
-			m_fsm.SetEnterMainPage();//设置进入首页
-		}
-		else if (_strnicmp(pszValue, "U", strlen("U")) == 0) {
-			m_fsm.SetInWhatPage(PageType_UserDesktop);
-		}
-		else {
-			m_fsm.SetInWhatPage(PageType_Other);
-		}
+		m_fsm.OnUIState4SetWhatPage(pszValue);
 	}
 }
 

+ 0 - 6
Module/mod_CardReadAdapter/CardReadAdapterFSM.h

@@ -850,12 +850,6 @@ private:
 		, m_bCardActiveNotify;
 	ErrorCodeEnum m_testResult;
 	//m_CardInit,m_CardRemains,m_CardIssued,m_CardMixed,m_CardPercent
-	int m_CardCaptured, m_issueStatusFromFile, m_issueStatus, m_port, m_baudRate, m_currentHopper, m_scanSlot;
-	CSimpleStringA m_CardBoxNoEx[3], m_PsbCodeEx[3], m_PsbNameEx[3], m_MaintainerEx[3], m_csMaintainTimeEx[3];
-	int m_CardInitEx[3], m_CardPercentEx[3], m_remainsEx[3], m_issuedEx[3], m_mixedEx[3], m_hopperNum;
-	DWORD m_MaintainTimeEx[3];
-	BYTE m_connectType, m_r1[128], m_r2[128], m_r3[128], m_priKey[ONE_K / 2], m_devPubKey[ONE_K / 2], m_bdk[64], m_ksn[64];
-
 	char *m_pDataToARQC;
 	long xxTest;
 	CSimpleStringA m_currCardNo, m_captureReason, m_csMachineType, m_terminalNo;

+ 2 - 2
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -599,7 +599,7 @@ ErrorCodeEnum CContactlessCardFSM::Load()
 		{
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpen").setCostTime(l_endTime - l_beginTime)("ContactlessCard DevOpen succ , dwPort:%d, dwBaudRate:%d", m_adapterInfo.GetPortInt(), m_adapterInfo.GetBaudrateInt());
 			ToLogRootINIInfo();
-			m_bOpened = true;
+			SetDevInitFlag();
 			ZeroMemory(m_devCatInfo.szModel, sizeof(m_devCatInfo.szModel));
 			ZeroMemory(m_devCatInfo.szType, sizeof(m_devCatInfo.szType));
 			ZeroMemory(m_devCatInfo.szVendor, sizeof(m_devCatInfo.szVendor));
@@ -689,7 +689,7 @@ ErrorCodeEnum CContactlessCardFSM::Load()
 	{
 		if (m_bOpened) {
 			m_hDevHelper->DevClose();
-			m_bOpened = false;
+			SetDevInitFlag(false);
 		}
 		errMsg = CSimpleStringA::Format("非接读卡器启动失败,have tried %d times!!!", initTries);
 		LogWarn(Severity_Middle, Error_Unexpect, ContactlessCard_UserErrorCode_DevOpen_Failed, errMsg.GetData());

+ 4 - 4
Module/mod_FingerPrint/FingerPrintFSM.cpp

@@ -314,7 +314,7 @@ ErrorCodeEnum CFingerPrintFSM::OnInit()
 int CFingerPrintFSM::Initial()
 {
 	auto pEntity = GET_DEV_ENTITY_BASE_POINTER();
-	m_bOpened = false;
+	SetDevInitFlag(false);
 	if (pEntity->vendorLibInfo.IsNotConfig()) {
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("没有配置,将其视为指纹仪设备打开成功");
 		return 0;
@@ -359,7 +359,7 @@ int CFingerPrintFSM::Initial()
 		else {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpen").setCostTime(l_endTime - l_beginTime)("Initial::DevOpen  port: %d, baudrate: %d", m_adapterInfo.GetPortInt(), m_adapterInfo.GetBaudrateInt());
 		}
-		m_bOpened = true;
+		SetDevInitFlag();
 		ToLogRootINIInfo();
 	} while (false);
 	ZeroMemory(m_devCatInfo.szModel, MAX_DEV_MODEL_LEN);
@@ -379,7 +379,7 @@ int CFingerPrintFSM::Initial()
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::GetDevCategory").setCostTime(l_endTime - l_beginTime)("Initial::GetDevCategory");
 	}
 	m_adapterInfo.FulfillCategoryInfo(m_devCatInfo);
-	m_bOpened = true;
+	SetDevInitFlag();
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("指纹仪设备打开成功");
 	return 0;
 }
@@ -394,7 +394,7 @@ ErrorCodeEnum CFingerPrintFSM::OnExit()
 	if (m_hDevHelper != nullptr)
 	{
 		m_hDevHelper.TearDown();
-		m_bOpened = false;
+		SetDevInitFlag(false);
 	}
 	return Error_Succeed;
 }

+ 1 - 11
Module/mod_FingerPrint/mod_FingerPrint.cpp

@@ -87,20 +87,10 @@ void FingerPrintServerSession::Handle_Exit(SpOnewayCallContext<FingerPrintServic
 void CFingerPrintEntity::OnSysVarEvent(const char *pszKey,
 	const char *pszValue, const char *pszOldValue, const char *pszEntityName)
 {
-#ifdef RVC_OS_WIN
 	if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0))
 	{	//增加页面位置判断
-		if (_strnicmp(pszValue, "M", strlen("M")) == 0) {
-			m_fsm.SetInWhatPage(PageType_MainPage);
-		}
-		else if (_strnicmp(pszValue, "U", strlen("U")) == 0) {
-			m_fsm.SetInWhatPage(PageType_UserDesktop);
-		}
-		else {
-			m_fsm.SetInWhatPage(PageType_Other);
-		}
+		m_fsm.OnUIState4SetWhatPage(pszValue);
 	}
-#endif	
 }
 
 SP_BEGIN_ENTITY_MAP()

+ 3 - 2
Module/mod_HSPScanner/HSPScannerFSM.cpp

@@ -249,7 +249,8 @@ ErrorCodeEnum CHSPScannerFSM::OnInit()
 	}
 
 FAIL:
-	m_bOpened = false;
+
+	SetDevInitFlag(false);
 	m_bOpening = false;
 	
 	PostEventLIFO(new FSMEvent(USER_EVT_GOTOHELL));
@@ -2073,7 +2074,7 @@ ErrorCodeEnum CHSPScannerFSM::TryToOpenDevice()
 		SetErrorAndLog(result, MEC_DEVAPI_HSPSCANNER_DevOpen, "DevAdapter::DevOpen", __FUNCTION__, false, ullEnd - ullStart);
 		SetLastUserCode(LOG_ERR_HSPS_DEVOPEN_FAILED);
 	} else {
-		m_bOpened = true;
+		SetDevInitFlag();
 		SetLastUserCode();
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpen").setCostTime(ullEnd - ullStart)("Open HSPS succ");
 		ullStart = SP::Module::Comm::RVCGetTickCount();

+ 1 - 6
Module/mod_HSPScanner/mod_HSPScanner.cpp

@@ -77,12 +77,7 @@ void CHSPScannerEntity::OnSysVarEvent(const char* pszKey, const char* pszValue,
 {
 	if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0))
 	{
-		if (_strnicmp(pszValue, "M", strlen("M")) == 0)
-			m_fsm.SetInWhatPage(PageType_MainPage);
-		else if (_strnicmp(pszValue, "U", strlen("U")) == 0)
-			m_fsm.SetInWhatPage(PageType_UserDesktop);
-		else
-			m_fsm.SetInWhatPage(PageType_Other);
+		m_fsm.OnUIState4SetWhatPage(pszValue);
 	}
 }
 

+ 1 - 1
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -1961,7 +1961,7 @@ int CIDCertFSM::Initial()
 	}
 	if (m_hDevHelper != nullptr)
 	{
-		m_bOpened = true;
+		SetDevInitFlag();
 		LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_DevOpen_Success, "身份证打开成功");
 		return 0;
 	}

+ 6 - 6
Module/mod_cardissuerstore/CardIssuerFSM.cpp

@@ -1815,7 +1815,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
 	}
 	long l_beginTime,l_endTime;
 	do {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CreateDevComponent suc. m_port:%d, m_baudRate:%d, pDevSN:%s",
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CreateDevComponent suc. port:%d, baudRate:%d, pDevSN:%s",
 			m_adapterInfo.GetPortInt(), m_adapterInfo.GetBaudrateInt(), pDevSN);
 
 		l_beginTime = GetTickCountRVC();
@@ -1826,7 +1826,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
 		{
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpenEx").setCostTime(l_endTime - l_beginTime)("OpenDevice::DevOpenEx, openType:%d, connectType:%d", btOpenType, m_connectType);
 			ToLogRootINIInfo();
-			m_bOpened = true;
+			SetDevInitFlag();
 			m_devOpenFailedCount = 0;
 			ZeroMemory(m_devCat.szModel, sizeof(m_devCat.szModel));
 			ZeroMemory(m_devCat.szType, sizeof(m_devCat.szType));
@@ -2054,7 +2054,7 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
 		}
 		else
 		{
-			m_bOpened = false;
+			SetDevInitFlag(false);
 			LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_Open_Failed, "启动后检查卡机状态失败");
 			return Error_Unexpect;
 		}
@@ -2069,7 +2069,7 @@ int CCardIssuerFSM::Initial()
 	{
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("OpenDevice in Initial return failed with errCode:%d(0x%x)", errCode, errCode);
 		CloseAndClearDevObj(false);
-		m_bOpened = false;
+		SetDevInitFlag(false);
 		m_bOpening = false;
 		return 1;
 	}
@@ -2504,7 +2504,7 @@ int CCardIssuerFSM::CaptureCard(SpReqAnsContext<CardIssuerStoreService_Capture_R
 	}
 	else {
 		if (ctx != NULL){
-			if (m_iInWhatPage == PageType_Other) { //这里本应使用IsInBusiness()替换,但实体重新实现了该函数,待确认
+			if (m_iInWhatPage == PageType_Other) { //TODO: 这里本应使用IsInBusiness()替换,但实体重新实现了该函数,待确认
 				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI("DevAdapter::MoveCard").setLogCode("QLR040222004").setResultCode("RTA2W07")("吞卡失败,请检查吞卡箱是否已满或联系厂商检查是否有吞卡");
 				LogError(Severity_Middle, Error_Unexpect, 0x22000034, "CaptureCard failed");
 			}
@@ -7040,7 +7040,7 @@ void CCardIssuerFSM::CloseAndClearDevObj(bool bCheckConnecting, bool bCloseOnly)
 	if (m_hDevHelper != nullptr && !bCloseOnly)
 	{
 		m_hDevHelper.TearDown();
-		m_bOpened = false;//硬件适配器关闭,则设置打开失败
+		SetDevInitFlag(false);//硬件适配器关闭,则设置打开失败
 	}
 }
 

+ 1 - 0
Module/mod_cardissuerstore/CardIssuerFSM.h

@@ -1374,6 +1374,7 @@ private:
 	CSimpleStringA generateJsonString(std::map<std::string, JsonElem>& objectArr);
 	bool IsInBusiness() const
 	{
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("test==IsInBusiness");
 		return (m_bCrossPreOnline || m_iInWhatPage == PageType_Other);
 	}
 

+ 1 - 12
Module/mod_cardissuerstore/mod_cardissuer.cpp

@@ -292,21 +292,10 @@ void CCardIssuerEntity::OnSysVarEvent(const char* pszKey, const char* pszValue,
 {
 	if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0))
 	{
-		if (_strnicmp(pszValue, "M", strlen("M")) == 0) {
-			m_fsm.SetInWhatPage(PageType_MainPage);
-			m_fsm.SetEnterMainPage();//设置进入首页
-		}
-		else if (_strnicmp(pszValue, "U", strlen("U")) == 0) {
-			m_fsm.SetInWhatPage(PageType_UserDesktop);
-		}
-		else {
-			m_fsm.SetInWhatPage(PageType_Other);
-		}
+		m_fsm.OnUIState4SetWhatPage(pszValue);
 	}
 }
 
-
-
 SP_BEGIN_ENTITY_MAP()
 	SP_ENTITY(CCardIssuerEntity)
 SP_END_ENTITY_MAP()

+ 1 - 2
Module/mod_pinpad/PinPadFSM.cpp

@@ -389,8 +389,7 @@ int CPinPadFSM::Initial()
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("Open pinpad failed.");
 		return 1;
 	}
-	m_bOpened = true;
-
+	SetDevInitFlag();
 	//oiltmp comment the following 20160406
 	//update with the version 1.7.1
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();

+ 2 - 2
Module/mod_pinpad/PinPadFSM.h

@@ -173,7 +173,7 @@ public:
 		m_bEntityExit(false), m_bPinInput(false), m_bLoadKey(false), m_bEncrypt(false)
 		, m_dwDevCommFailCount(0), m_dwPinPadRunCount(0), m_encryptkey(1)
 		, m_bSM(false), m_bSMLoaded(false), m_szModel(""), m_szType("")
-		, m_szVendor(""),m_csMachineType(true), m_terminalNo(true), m_port(true), m_Baudrate(true)
+		, m_szVendor(""),m_csMachineType(true), m_terminalNo(true)
 		, m_bPinInputJS(false), m_bUseBackupSN(true){
 			HARDWARE_ENTITY_RESET_ENTITYID(m_entCode, 0x206);
 			ZeroMemory(&m_adapterInfo, sizeof(m_adapterInfo));
@@ -286,7 +286,7 @@ private:
 	bool m_bFrontCancel,m_bWaitingMore,m_bExit,m_bPlainPin,m_bEntityExit
 		,m_bPinInput,m_bLoadKey,m_bEncrypt,m_bSM,m_bSMLoaded, m_bPinInputJS, m_bUseBackupSN/*if use backup sn*/;
 	ULLINT m_ullBeginTime, m_ullEndTime,m_ullConnectCost;
-	CSimpleStringA m_deviceNo, m_port, m_Baudrate, m_devCheckData,m_keySNSM,m_szModel,m_szType,m_szVendor;
+	CSimpleStringA m_deviceNo, m_devCheckData,m_keySNSM,m_szModel,m_szType,m_szVendor;
 	char m_buf[4];
 	DWORD m_dwDevCommFailCount,m_dwPinPadRunCount;
 	

+ 1 - 6
Module/mod_pinpad/mod_pinpad.cpp

@@ -82,12 +82,7 @@ void CPinPadEntity::OnSysVarEvent(const char *pszKey,
 {
 	if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0))
 	{
-		if (_strnicmp(pszValue, "M", strlen("M")) == 0)
-			m_fsm.SetInWhatPage(PageType_MainPage);
-		else if (_strnicmp(pszValue, "U", strlen("U")) == 0)
-			m_fsm.SetInWhatPage(PageType_UserDesktop);
-		else
-			m_fsm.SetInWhatPage(PageType_Other);
+		m_fsm.OnUIState4SetWhatPage(pszValue);
 	}
 }
 SP_BEGIN_ENTITY_MAP()