Przeglądaj źródła

Z991239-4281 #comment feat: 同步mod_IDCertFSM文件

陈纪林80310970 2 lat temu
rodzic
commit
35a4d7483e

+ 11 - 47
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -93,7 +93,7 @@ unsigned int CIDCertFSM::s0_on_event(FSMEvent* pEvt)
 			task->ctx = ide->ctx;
 			GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
 		}
-			break;
+		break;
 		case USER_EVT_READ_EX:
 		{
 			pEvt->SetHandled();
@@ -102,7 +102,7 @@ unsigned int CIDCertFSM::s0_on_event(FSMEvent* pEvt)
 			task->ctx = ide->ctx;
 			GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
 		}
-			break;
+		break;
 		case USER_EVT_READ_AND_SCAN:
 		{
 			pEvt->SetHandled();
@@ -131,7 +131,7 @@ void CIDCertFSM::s1_on_exit()
 unsigned int CIDCertFSM::s1_on_event(FSMEvent *pEvt)
 {
 	LOG_FUNCTION();
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s1 evt (%d).", pEvt->iEvt);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("s1_on_event")("s1 evt %d", pEvt->iEvt);
 	int ret = 0;
 	switch(pEvt->iEvt)
 	{
@@ -141,7 +141,7 @@ unsigned int CIDCertFSM::s1_on_event(FSMEvent *pEvt)
 		break;
 	case USER_EVT_CANCEL_READ:
 		pEvt->SetHandled();
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("Set cancel read flag");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("s1_on_event")("Set cancel read flag");
 		m_bCancelRead = true;
 		break;
 	case USER_EVT_EXIT:
@@ -214,7 +214,8 @@ void CIDCertFSM::s4_on_exit()
 }
 unsigned int CIDCertFSM::s4_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("wait fetch id card.event %d,%d",pEvt->iEvt,pEvt->param1);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("s4_on_event")
+		("wait fetch id card.event %d,%d", pEvt->iEvt, pEvt->param1);
 	switch (pEvt->iEvt)
 	{
 		case USER_EVT_WAIT_FETCH_IDCARD_FINISHED:
@@ -1014,6 +1015,8 @@ int CIDCertFSM::ReadAndScan(SpReqAnsContext<IDCert_ReadAndScan_Req, IDCert_ReadA
 			SetErrPackage(m_errPkg, "ReadAndScan::IDCerAuthenticate", m_devSN, ecForIDCerAuthenticate, MEC_DEVAPI_IDCER_IDCerAuthenticate);
 			AlarmDEC(m_errPkg);
         }
+
+		LogError(Severity_High, Error_Unexpect, IDCertificate_UserErrorCode_ReadAndScan_Failed, "ReadAndScan some thing wrong.");
 	}
 	if (eErr1 == Error_Succeed && pos == 2)
 	{
@@ -1038,13 +1041,11 @@ ErrorCodeEnum CIDCertFSM::GetPngBlob(CBlob &data, bool bClear)
 	strPngPath = strPath + SPLIT_SLASH_STR + "zp.JPEG";
 	strTxtPath = strPath + SPLIT_SLASH_STR + "wz.txt";
 	strWltPath = strPath + SPLIT_SLASH_STR + "xp.wlt";
-
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("photo change: %s,%s,%s",(LPCSTR)strBkPath,(LPCSTR)strBmpPath,(LPCSTR)strPngPath);
+	
 	bool bResult = imageprocess((char*)strBkPath.GetData(), (char*)strBmpPath.GetData(), (char*)strPngPath.GetData());
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("photo changed");
 	if (!bResult)
 	{
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("photo changed failed.");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("GetPngBlob")("photo changed failed.");
 		return Error_Unexpect;
 	}
 	//if (Error == Error_Succeed) {
@@ -1062,12 +1063,9 @@ ErrorCodeEnum CIDCertFSM::GetPngBlob(CBlob &data, bool bClear)
 		LOG_TRACE("fopen %s failed!", (LPCSTR)strPngPath);
 		err = Error_IO;
 	}
-	//}
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("After ReadInfo, do clear job.");
 
 	if (bClear)
 		DeleteZP(Bmp_ZP);
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("After ReadInfo, finish doing clear job.");
 	return err;
 }
 ErrorCodeEnum CIDCertFSM::GetPngBlobEx(CBlob &data, CSimpleStringA fileNamePrefix, bool bClear)
@@ -1212,41 +1210,7 @@ void CIDCertFSM::DeleteZP(int type)
 		DeleteFileIfExisted("idback.jpg");
 	}
 }
-int CIDCertFSM::ReadHZCard(SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx)
-{
-	//oiltest@20180613 for songrui hz
-	//ErrorCodeEnum eErr = m_hDevHelper->DevClose();
-	//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("before read card,DevClose result:%d", eErr);
-	//eErr = ReleaseDevComponent((DeviceBaseClass *&)m_hDevHelper);
-	//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("before read card,ReleaseDevComponent result:%d", eErr);
-	//HANDLE itc = device_open("USB", 0, 9600);
-	//if (itc > 0)
-	//{
-	//	BYTE type;
-	//	PBYTE pID = new BYTE[10];
-	//	ZeroMemory(pID, 10);
-	//	int ret = rf_card(itc, 0xfffe, &type, pID);
-	//	if (ret == 0)
-	//	{
-	//		memcpy(ctx->Ans.photodata.m_pData, pID, 4);
-	//		ctx->Answer(Error_Succeed);
-	//		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("read card ok.");
-	//	}
-	//	else
-	//	{
-	//		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("read card failed %d",ret);
-	//		ctx->Answer(Error_Unexpect);
-	//	}
-	//	device_close(itc);
-	//}
-	//else
-	//	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("device_open failed result:%x", itc);
-	//eErr = CreateDevComponent((DeviceBaseClass *&)m_hDevHelper);
-	//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("after read card,CreateDevComponent result:%d", eErr);
-	//eErr = m_hDevHelper->DevOpen(0);
-	//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("after read card,devopen result:%d",eErr);
-	return 0;
-}
+
 void CIDCertFSM::CrossTermCall(SpReqAnsContext<IDCert_CrossTermCall_Req, IDCert_CrossTermCall_Ans>::Pointer cctx)
 {
 	ErrorCodeEnum eErr = Error_Unexpect;

+ 29 - 17
Module/mod_IDCertificate/IDCertFSM.h

@@ -72,6 +72,7 @@ struct CtxInfo
 	int dataSize;
 	LPVOID pCtx;
 };
+
 class ReadEvent : public FSMEvent
 {
 public:
@@ -84,6 +85,21 @@ public:
 			ctx->Answer(Error_InvalidState);
 	}
 };
+class ReadExEvent : public FSMEvent
+{
+public:
+	ReadExEvent() : FSMEvent(USER_EVT_READ_EX) {}
+	virtual ~ReadExEvent() {}
+	SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx;
+	virtual void OnUnhandled()
+	{
+		if (ctx != NULL)
+			ctx->Answer(Error_InvalidState);
+	}
+};
+
+
+
 class CancelReadEvent : public FSMEvent
 {
 public:
@@ -106,18 +122,6 @@ public:
 			ctx->Answer(Error_InvalidState);
 	}
 };
-class ReadExEvent : public FSMEvent
-{
-public:
-	ReadExEvent() : FSMEvent(USER_EVT_READ_EX){}
-	virtual ~ReadExEvent(){}
-	SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
-};
 class EjectEvent : public FSMEvent
 {
 public:
@@ -214,23 +218,27 @@ public:
 
 	int ReadInfo(SpReqAnsContext<IDCert_Read_Req, IDCert_Read_Ans>::Pointer ctx);
 	int ReadInfoEx(SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx);
+	int ReadHZCard(SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx);
+	int LocalCallHeartBeat(int method, CBlob& bbSend, bool bTwoWay = false);
+	bool IsRVCIL() { /*return m_bRVCIL;*/return false; }//oilyang@20190123 方案改了,这里暂时不需要了
+	void CrossTermCall(SpReqAnsContext<IDCert_CrossTermCall_Req, IDCert_CrossTermCall_Ans>::Pointer ctx);
+	void CrossTermInvokeInfo(SpOnewayCallContext<IDCert_CrossTermInvokeInfo_Info>::Pointer ctx);
+
 	int ReadAndScan(SpReqAnsContext<IDCert_ReadAndScan_Req, IDCert_ReadAndScan_Ans>::Pointer ctx);
+	
 	int WaitFetchIDCard();
 	void SetReadMore(){m_bWaitReadMore = true;}
 	void SetExitFlag(){m_bExit = true;}
 	bool GetReadFlag(){return m_bReading;}
 	ErrorCodeEnum GetDevCatInfo(DevCategoryInfo &devInfo, CSimpleStringA& devType);
 	void GetDevState(DevStateEnum &devState){ devState = m_devState; }
-	int ReadHZCard(SpReqAnsContext<IDCert_ReadEx_Req, IDCert_ReadEx_Ans>::Pointer ctx);
 
 	void DoExit(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		pTransactionContext->SendAnswer(Error_Succeed);
 	}
-	int LocalCallHeartBeat(int method, CBlob &bbSend, bool bTwoWay = false);
 	bool GetDevInitFlag() { return m_devInit; }
-	bool IsRVCIL() { /*return m_bRVCIL;*/return false; }//oilyang@20190123 方案改了,这里暂时不需要了
-	void CrossTermCall(SpReqAnsContext<IDCert_CrossTermCall_Req, IDCert_CrossTermCall_Ans>::Pointer ctx);
+
 	template <class TReq,class TAns>
 	void SaveCtx(int methodID, CSmartPointer<SpReqAnsContext<TReq, TAns> > ctx)
 	{
@@ -240,6 +248,8 @@ public:
 	{
 		m_readAndScanCtx = ctx;
 	}
+
+
 	LPVOID  GetCtx(int methodID) 
 	{ 
 		if (m_mapCtx.find(methodID) != m_mapCtx.end())
@@ -248,8 +258,10 @@ public:
 			return NULL;
 	}
 	int Initial();
-	void CrossTermInvokeInfo(SpOnewayCallContext<IDCert_CrossTermInvokeInfo_Info>::Pointer ctx);
 	void SelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
+	/*int ProcFWBReConn();
+	bool IsRVCPAD() { return !m_csMachineType.Compare("RVC.PAD", true); }*/
+
 protected:
 	
 	ErrorCodeEnum GetVendorDllPath(CSimpleStringA &strPath);