Parcourir la source

Z991239-4473 #comment 同步getfingerPrint方法代码,提前判断未打开报错

Signed-Off-By: commit-hook
刘文涛80174520 il y a 2 ans
Parent
commit
bfd14cf40d

+ 1 - 0
Module/mod_FingerPrint/FingerPrintFSM.h

@@ -301,6 +301,7 @@ public:
 	ErrorCodeEnum ExtractVendorLib(CSimpleStringA& strLibFullPath);
 //	CSimpleString GenerateAlarmJson(CSimpleString entityName, int cost);
 
+	bool GetDevInitFlag() { return m_devInit; }
 	bool IsFWBDevice(CSimpleString& vendorName);//废弃 蓝牙多合一判断
 	ErrorCodeEnum InitParamBeforeScan(ScanParam *initParam, int scanTime);//废弃 GetImageAndFeature和GetImageAndFeatureEx引用
 	void ScanProcess(ScanParam* pScanParam, SpReqAnsContext<FingerPrintService_GetImageAndFeature_Req, FingerPrintService_GetImageAndFeature_Ans>::Pointer &ctx);//废弃 GetImageAndFeature引用

+ 9 - 3
Module/mod_FingerPrint/mod_FingerPrint.h

@@ -94,9 +94,15 @@ public:
 	//有用:扫描指纹(73294)
 	void GetFingerPrint(SpReqAnsContext<FingerPrintService_GetFingerPrint_Req, FingerPrintService_GetFingerPrint_Ans>::Pointer ctx)
 	{
-		GetFingerEvent* e = new GetFingerEvent();
-		e->ctx = ctx;
-		m_fsm.PostEventFIFO(e);
+		if(!m_fsm.GetDevInitFlag()){
+			ctx->Answer(Error_DevNotAvailable);
+			LogWarn(Severity_Middle, Error_DevNotAvailable, FingerPrint_UserErrorCode_DevOpen_Failed_Registe, "GetFingerPrint but DevOpen failed.");
+		}
+		else{
+			GetFingerEvent* e = new GetFingerEvent();
+			e->ctx = ctx;
+			m_fsm.PostEventFIFO(e);
+		}
 	}
 	//有用:生成指纹模板(161)
 	void GenerateTemplate(SpReqAnsContext<FingerPrintService_GenerateTemplate_Req, FingerPrintService_GenerateTemplate_Ans>::Pointer ctx)