Bladeren bron

#IQRV #comment MapCode2RTAString 位置调整

80374374 6 maanden geleden
bovenliggende
commit
9852be5fb3
3 gewijzigde bestanden met toevoegingen van 373 en 338 verwijderingen
  1. 111 0
      Module/mod_HSPScanner/HSPScannerFSM.cpp
  2. 250 326
      Module/mod_HSPScanner/HSPScannerFSM.h
  3. 12 12
      Module/mod_HSPScanner/mod_HSPScanner.h

+ 111 - 0
Module/mod_HSPScanner/HSPScannerFSM.cpp

@@ -2472,3 +2472,114 @@ ErrorCodeEnum CHSPScannerFSM::TryToOpenDevice()
 	return result;
 }
 
+LPCTSTR CHSPScannerFSM::MapCode2RTAString(DWORD dwValue)
+{
+	//static CSimpleStringA tmpRTA(true);
+	//CSimpleStringA tmpDesc(true);
+
+	//tmpRTA = "";
+	//if (GetEntityBase()->GetFunction()->GetVTMErrMsg(dwValue, tmpDesc, tmpRTA) == Error_Succeed)
+	//{
+	//	return tmpRTA.GetData();
+	//}
+
+	switch (dwValue) {
+	case LOG_ERR_HSPS_DEVOPEN_FAILED:
+		return "RTA2N01";
+		break;
+	case 0x21700002://跟灯事件有冲突
+		return "RTA2N02";
+		break;
+	case LOG_ERR_HSPS_PREVIEW_FAILED: //跟灯事件有冲突
+		return "RTA2N03";
+		break;
+	case LOG_EVT_HSPS_CANCEL_PREVIEW_FAILED:
+		return "RTA2N04";
+		break;
+	case LOG_EVT_HSPS_SCANIMAGE_FAILED:
+		return "RTA2N05";
+		break;
+	case LOG_EVT_HSPS_READ_IMAGEEX_FILE_FAILED:
+		return "RTA2N06";
+		break;
+	case HSPScanner_UserErrorCode_SetParam_Position:
+		return "RTA2N07";
+		break;
+	case 0x21700008:
+		return "RTA2N08";
+		break;
+	case 0x21700009:
+		return "RTA2N09";
+		break;
+	case 0x2170000A:
+		return "RTA2N0A";
+		break;
+	case 0x2170000B:
+		return "RTA2N0B";
+		break;
+	case 0x2170000C:
+		return "RTA2N0C";
+		break;
+	case HSPScanner_UserErrorCode_READ_IMAGE_FILE_FAILED:
+		return "RTA2N0D";
+		break;
+	case HSPScanner_UserErrorCode_LOAD_DLLFILE_NOTEIXT:
+		return "RTA2N0E";
+		break;
+	case HSPScanner_UserErrorCode_LOAD_DLLFILE_FAILED:
+		return "RTA2N0F";
+		break;
+	case HSPScanner_UserErrorCode_FSM_INVALID:
+		return "RTA2N0G";
+		break;
+	case HSPScanner_UserErrorCode_DLLNAME_FAILED:
+		return "RTA2N0H";
+		break;
+	case HSPScanner_UserErrorCode_DLLNAME_NOCFG:
+		return "RTA2N0J";
+		break;
+	case HSPScanner_UserErrorCode_DEVICE_OFFLINE:
+		return "RTA2N0K";
+		break;
+	case HSPScanner_UserErrorCode_IMAGE_CLEAR:
+		return "RTA2N0L";
+		break;
+	case HSPScanner_UserErrorCode_CLEAR_RESOURCE_FAILED:
+		return "RTA2N0L";
+		break;
+	case HSPScanner_UserErrorCode_NOT_SUPPORT:
+		return "RTA2N0M";
+		break;
+	case LOG_WARN_HSPS_RESIZE_IMAGE_FILE_FAILED:
+		return "RTA2N0N";
+		break;
+	case HSPScanner_UserErrorCode_SetParam_Hide:
+		return "RTA2N0Q";
+		break;
+	case LOG_WARN_HSPS_INVALID_OPERATION:
+		return "RTA2N0V";
+		break;
+	case HSPScanner_UserErrorCode_SetParam_View:
+		return "RTA2N0R";
+		break;
+		/*RTA2N0S*/
+		/*RTA2N0T*/
+	/** 新增  [Gifur@20241111]*/
+	case HSPScanner_UserErrorCode_SetParam_Color:
+		return "RTA2N0W";
+		break;
+	case HSPScanner_UserErrorCode_SetParam_Rotate:
+		return "RTA2N0Y";
+		break;
+	case HSPScanner_UserErrorCode_SetParam_Scan:
+		return "RTA2N0Z";
+		break;
+	case LOG_WARN_HSPS_OPENING_NOW:
+		return "RTA2N11";
+		break;
+	case 0:
+	default:
+		return "SUC0000";
+		break;
+	}
+}

+ 250 - 326
Module/mod_HSPScanner/HSPScannerFSM.h

@@ -69,109 +69,6 @@ enum EvtType
 	USER_EVT_QUIT
 };
 
-static LPCTSTR MapCode2RTAString(DWORD dwValue)
-{
-	switch (dwValue) {
-	case LOG_ERR_HSPS_DEVOPEN_FAILED:
-		return "RTA2N01";
-		break;
-	case 0x21700002://跟灯事件有冲突
-		return "RTA2N02";
-		break;
-	case LOG_ERR_HSPS_PREVIEW_FAILED: //跟灯事件有冲突
-		return "RTA2N03";
-		break;
-	case LOG_EVT_HSPS_CANCEL_PREVIEW_FAILED:
-		return "RTA2N04";
-		break;
-	case LOG_EVT_HSPS_SCANIMAGE_FAILED:
-		return "RTA2N05";
-		break;
-	case LOG_EVT_HSPS_READ_IMAGEEX_FILE_FAILED:
-		return "RTA2N06";
-		break;
-	case HSPScanner_UserErrorCode_SetParam_Position:
-		return "RTA2N07";
-		break;
-	case 0x21700008:
-		return "RTA2N08";
-		break;
-	case 0x21700009:
-		return "RTA2N09";
-		break;
-	case 0x2170000A:
-		return "RTA2N0A";
-		break;
-	case 0x2170000B:
-		return "RTA2N0B";
-		break;
-	case 0x2170000C:
-		return "RTA2N0C";
-		break;
-	case HSPScanner_UserErrorCode_READ_IMAGE_FILE_FAILED:
-		return "RTA2N0D";
-		break;
-	case HSPScanner_UserErrorCode_LOAD_DLLFILE_NOTEIXT:
-		return "RTA2N0E";
-		break;
-	case HSPScanner_UserErrorCode_LOAD_DLLFILE_FAILED:
-		return "RTA2N0F";
-		break;
-	case HSPScanner_UserErrorCode_FSM_INVALID:
-		return "RTA2N0G";
-		break;
-	case HSPScanner_UserErrorCode_DLLNAME_FAILED:
-		return "RTA2N0H";
-		break;
-	case HSPScanner_UserErrorCode_DLLNAME_NOCFG:
-		return "RTA2N0J";
-		break;
-	case HSPScanner_UserErrorCode_DEVICE_OFFLINE:
-		return "RTA2N0K";
-		break;
-	case HSPScanner_UserErrorCode_IMAGE_CLEAR:
-		return "RTA2N0L";
-		break;
-	case HSPScanner_UserErrorCode_CLEAR_RESOURCE_FAILED:
-		return "RTA2N0L";
-		break;
-	case HSPScanner_UserErrorCode_NOT_SUPPORT:
-		return "RTA2N0M";
-		break;
-	case LOG_WARN_HSPS_RESIZE_IMAGE_FILE_FAILED:
-		return "RTA2N0N";
-		break;
-	case HSPScanner_UserErrorCode_SetParam_Hide:
-		return "RTA2N0Q";
-		break;
-	case LOG_WARN_HSPS_INVALID_OPERATION:
-		return "RTA2N0V";
-		break;
-	case HSPScanner_UserErrorCode_SetParam_View:
-		return "RTA2N0R";
-		break;
-		/*RTA2N0S*/
-		/*RTA2N0T*/
-	/** 新增  [Gifur@20241111]*/
-	case HSPScanner_UserErrorCode_SetParam_Color:
-		return "RTA2N0W";
-		break;
-	case HSPScanner_UserErrorCode_SetParam_Rotate:
-		return "RTA2N0Y";
-		break;
-	case HSPScanner_UserErrorCode_SetParam_Scan:
-		return "RTA2N0Z";
-		break;
-	case LOG_WARN_HSPS_OPENING_NOW:
-		return "RTA2N11";
-		break;
-	case 0:
-	default:
-		return "SUC0000";
-		break;
-	}
-}
-
 namespace JS
 {
 	struct PreviewSettings
@@ -202,229 +99,6 @@ namespace JS
 	};
 }
 
-class StartPreviewEvent : public FSMEvent
-{
-public:
-	StartPreviewEvent() : FSMEvent(USER_EVT_STARTPREVIEW){}
-	~StartPreviewEvent(){}
-	SpReqAnsContext<HSPScannerService_StartPreview_Req, HSPScannerService_StartPreview_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_StartPreview).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class StopPreviewEvent : public FSMEvent
-{
-public:
-	StopPreviewEvent() : FSMEvent(USER_EVT_STOPPREVIEW){}
-	~StopPreviewEvent(){}
-	SpReqAnsContext<HSPScannerService_CancelPreview_Req,
-		HSPScannerService_CancelPreview_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_CancelPreview).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class ScanImageEvent : public FSMEvent
-{
-public:
-	ScanImageEvent() : FSMEvent(USER_EVT_SCANIMAGE){}
-	~ScanImageEvent(){}
-	SpReqAnsContext<HSPScannerService_ScanImage_Req, 
-		HSPScannerService_ScanImage_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImage).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class ScanImageExEvent : public FSMEvent
-{
-public:
-	ScanImageExEvent() : FSMEvent(USER_EVT_SCANIMAGE_EX){}
-	~ScanImageExEvent(){}
-	SpReqAnsContext<HSPScannerService_ScanImageEx_Req, 
-		HSPScannerService_ScanImageEx_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImageEx).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class ShowPropertyEvent : public FSMEvent
-{
-public:
-	ShowPropertyEvent() : FSMEvent(USER_EVT_SHOWPROPERTY){}
-	~ShowPropertyEvent(){}
-	SpReqAnsContext<HSPScannerService_ShowProperty_Req, 
-		HSPScannerService_ShowProperty_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ShowProperty).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class SetPropertyEvent : public FSMEvent
-{
-public:
-	SetPropertyEvent() : FSMEvent(USER_EVT_SETPROPERTY){}
-	~SetPropertyEvent(){}
-	SpReqAnsContext<HSPScannerService_SetProperty_Req, 
-		HSPScannerService_SetProperty_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetProperty).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class SetWinPosEvent : public FSMEvent
-{
-public:
-	SetWinPosEvent() : FSMEvent(USER_EVT_SETWINPOS){}
-	~SetWinPosEvent(){}
-	SpReqAnsContext<HSPScannerService_SetWinPos_Req, 
-		HSPScannerService_SetWinPos_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetWinPos).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-class GetDevStatusEvent : public FSMEvent
-{
-public:
-	GetDevStatusEvent() : FSMEvent(USER_EVT_GETSTATUS){}
-	~GetDevStatusEvent(){}
-	SpReqAnsContext<HSPScannerService_GetDevStatus_Req, 
-		HSPScannerService_GetDevStatus_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_GetDevStatus).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-
-/** No use now  [Gifur@2025318]*/
-class GetDevInfoEvent : public FSMEvent
-{
-public:
-	GetDevInfoEvent() : FSMEvent(USER_EVT_GETINFO){}
-	~GetDevInfoEvent(){}
-	SpReqAnsContext<HSPScannerService_GetDevInfo_Req, 
-		HSPScannerService_GetDevInfo_Ans>::Pointer m_ctx;
-	virtual void OnUnhandled()
-	{
-		if(m_ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_GetDevInfo).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
-			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-		}
-	}
-};
-
-/** JS Component  [Gifur@20241112]*/
-namespace JS {
-
-	class StartPreviewEvent : public FSMEvent
-	{
-	public:
-		StartPreviewEvent() : FSMEvent(USER_EVT_STARTPREVIEW_JS) {}
-		~StartPreviewEvent() {}
-		SpReqAnsContext<HSPScannerService_StartPreviewJS_Req, HSPScannerService_StartPreviewJS_Ans>::Pointer m_ctx;
-		virtual void OnUnhandled()
-		{
-			if (m_ctx != NULL)
-			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_StartPreviewJS).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("StartPreviewEvent::Error_InvalidState");
-				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-			}
-		}
-	};
-
-	class CancelPreviewEvent : public FSMEvent
-	{
-	public:
-		CancelPreviewEvent() : FSMEvent(USER_EVT_CANCELPREVIEW_JS) {}
-		~CancelPreviewEvent() {}
-		SpReqAnsContext<HSPScannerService_CancelPreviewJS_Req, HSPScannerService_CancelPreviewJS_Ans>::Pointer m_ctx;
-		virtual void OnUnhandled()
-		{
-			if (m_ctx != NULL)
-			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_CancelPreviewJS).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("CancelPreviewEvent::Error_InvalidState");
-				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-			}
-		}
-	};
-
-	class ScanImageEvent : public FSMEvent
-	{
-	public:
-		ScanImageEvent() : FSMEvent(USER_EVT_SCANIMAGE_JS) {}
-		~ScanImageEvent() {}
-		SpReqAnsContext<HSPScannerService_ScanImageJS_Req, HSPScannerService_ScanImageJS_Ans>::Pointer m_ctx;
-		virtual void OnUnhandled()
-		{
-			if (m_ctx != NULL)
-			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImageJS).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("ScanImageEvent::Error_InvalidState");
-				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-			}
-		}
-	};
-
-	class SetParamEvent : public FSMEvent
-	{
-	public:
-		SetParamEvent() : FSMEvent(USER_EVT_SETPARAM_JS) {}
-		~SetParamEvent() {}
-		SpReqAnsContext<HSPScannerService_SetParamJS_Req, HSPScannerService_SetParamJS_Ans>::Pointer m_ctx;
-		virtual void OnUnhandled()
-		{
-			if (m_ctx != NULL)
-			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetParamJS).setResultCode(MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("SetParamEvent::Error_InvalidState");
-				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
-			}
-		}
-	};
-}
-/** JS Component Done  [Gifur@20241112]*/
-
 class CHSPScannerFSM : public CCommDevFSM<CHSPScannerFSM, CHSPSClass>, public IFSMStateHooker
 {
 public:
@@ -645,6 +319,7 @@ public:
 	int SetPreviewParam(int colorType, int rotateType, int scanType, bool abortIfFault = false);
 
 	ErrorCodeEnum TryToOpenDevice();
+	LPCTSTR MapCode2RTAString(DWORD dwValue);
 
 protected:
 	
@@ -695,6 +370,255 @@ private:
 	}
 };
 
+class StartPreviewEvent : public FSMEvent
+{
+public:
+	StartPreviewEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_STARTPREVIEW) {}
+	~StartPreviewEvent() {}
+	SpReqAnsContext<HSPScannerService_StartPreview_Req, HSPScannerService_StartPreview_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_StartPreview)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class StopPreviewEvent : public FSMEvent
+{
+public:
+	StopPreviewEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_STOPPREVIEW) {}
+	~StopPreviewEvent() {}
+	SpReqAnsContext<HSPScannerService_CancelPreview_Req,
+		HSPScannerService_CancelPreview_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_CancelPreview)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class ScanImageEvent : public FSMEvent
+{
+public:
+	ScanImageEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SCANIMAGE) {}
+	~ScanImageEvent() {}
+	SpReqAnsContext<HSPScannerService_ScanImage_Req,
+		HSPScannerService_ScanImage_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImage)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class ScanImageExEvent : public FSMEvent
+{
+public:
+	ScanImageExEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SCANIMAGE_EX) {}
+	~ScanImageExEvent() {}
+	SpReqAnsContext<HSPScannerService_ScanImageEx_Req,
+		HSPScannerService_ScanImageEx_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImageEx)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class ShowPropertyEvent : public FSMEvent
+{
+public:
+	ShowPropertyEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SHOWPROPERTY) {}
+	~ShowPropertyEvent() {}
+	SpReqAnsContext<HSPScannerService_ShowProperty_Req,
+		HSPScannerService_ShowProperty_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ShowProperty)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class SetPropertyEvent : public FSMEvent
+{
+public:
+	SetPropertyEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SETPROPERTY) {}
+	~SetPropertyEvent() {}
+	SpReqAnsContext<HSPScannerService_SetProperty_Req,
+		HSPScannerService_SetProperty_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetProperty)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class SetWinPosEvent : public FSMEvent
+{
+public:
+	SetWinPosEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SETWINPOS) {}
+	~SetWinPosEvent() {}
+	SpReqAnsContext<HSPScannerService_SetWinPos_Req,
+		HSPScannerService_SetWinPos_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetWinPos)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+class GetDevStatusEvent : public FSMEvent
+{
+public:
+	GetDevStatusEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_GETSTATUS) {}
+	~GetDevStatusEvent() {}
+	SpReqAnsContext<HSPScannerService_GetDevStatus_Req,
+		HSPScannerService_GetDevStatus_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_GetDevStatus)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+
+/** No use now  [Gifur@2025318]*/
+class GetDevInfoEvent : public FSMEvent
+{
+public:
+	GetDevInfoEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_GETINFO) {}
+	~GetDevInfoEvent() {}
+	SpReqAnsContext<HSPScannerService_GetDevInfo_Req,
+		HSPScannerService_GetDevInfo_Ans>::Pointer m_ctx;
+	CHSPScannerFSM* m_fsm;
+	virtual void OnUnhandled()
+	{
+		if (m_ctx != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_GetDevInfo)
+				.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("Error_InvalidState");
+			m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+		}
+	}
+};
+
+/** JS Component  [Gifur@20241112]*/
+namespace JS {
+
+	class StartPreviewEvent : public FSMEvent
+	{
+	public:
+		StartPreviewEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_STARTPREVIEW_JS) {}
+		~StartPreviewEvent() {}
+		SpReqAnsContext<HSPScannerService_StartPreviewJS_Req, HSPScannerService_StartPreviewJS_Ans>::Pointer m_ctx;
+		CHSPScannerFSM* m_fsm;
+		virtual void OnUnhandled()
+		{
+			if (m_ctx != NULL)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_StartPreviewJS)
+					.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("StartPreviewEvent::Error_InvalidState");
+				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+			}
+		}
+	};
+
+	class CancelPreviewEvent : public FSMEvent
+	{
+	public:
+		CancelPreviewEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_CANCELPREVIEW_JS) {}
+		~CancelPreviewEvent() {}
+		SpReqAnsContext<HSPScannerService_CancelPreviewJS_Req, HSPScannerService_CancelPreviewJS_Ans>::Pointer m_ctx;
+		CHSPScannerFSM* m_fsm;
+		virtual void OnUnhandled()
+		{
+			if (m_ctx != NULL)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_CancelPreviewJS)
+					.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("CancelPreviewEvent::Error_InvalidState");
+				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+			}
+		}
+	};
+
+	class ScanImageEvent : public FSMEvent
+	{
+	public:
+		ScanImageEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SCANIMAGE_JS) {}
+		~ScanImageEvent() {}
+		SpReqAnsContext<HSPScannerService_ScanImageJS_Req, HSPScannerService_ScanImageJS_Ans>::Pointer m_ctx;
+		CHSPScannerFSM* m_fsm;
+		virtual void OnUnhandled()
+		{
+			if (m_ctx != NULL)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_ScanImageJS)
+					.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("ScanImageEvent::Error_InvalidState");
+				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+			}
+		}
+	};
+
+	class SetParamEvent : public FSMEvent
+	{
+	public:
+		SetParamEvent(CHSPScannerFSM* val): m_fsm(val), FSMEvent(USER_EVT_SETPARAM_JS) {}
+		~SetParamEvent() {}
+		SpReqAnsContext<HSPScannerService_SetParamJS_Req, HSPScannerService_SetParamJS_Ans>::Pointer m_ctx;
+		CHSPScannerFSM* m_fsm;
+		virtual void OnUnhandled()
+		{
+			if (m_ctx != NULL)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode(HSPScannerService_LogCode_SetParamJS)
+					.setResultCode(m_fsm->MapCode2RTAString(LOG_WARN_HSPS_INVALID_OPERATION))("SetParamEvent::Error_InvalidState");
+				m_ctx->Answer(Error_InvalidState, LOG_WARN_HSPS_INVALID_OPERATION);
+			}
+		}
+	};
+}
+/** JS Component Done  [Gifur@20241112]*/
+
 struct StartPreviewTask : public ITaskSp
 {
 	CHSPScannerFSM* m_fsm;

+ 12 - 12
Module/mod_HSPScanner/mod_HSPScanner.h

@@ -114,7 +114,7 @@ public:
 	void Preview(SpReqAnsContext<HSPScannerService_StartPreview_Req,
 		HSPScannerService_StartPreview_Ans>::Pointer ctx)
 	{
-		StartPreviewEvent* pEvent = new StartPreviewEvent();
+		StartPreviewEvent* pEvent = new StartPreviewEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -122,7 +122,7 @@ public:
 	void CancelPreview(SpReqAnsContext<HSPScannerService_CancelPreview_Req,
 		HSPScannerService_CancelPreview_Ans>::Pointer ctx)
 	{
-		StopPreviewEvent* pEvent = new StopPreviewEvent();
+		StopPreviewEvent* pEvent = new StopPreviewEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -130,7 +130,7 @@ public:
 	void ScanImage(SpReqAnsContext<HSPScannerService_ScanImage_Req,
 		HSPScannerService_ScanImage_Ans>::Pointer ctx)
 	{
-		ScanImageEvent* pEvent = new ScanImageEvent();
+		ScanImageEvent* pEvent = new ScanImageEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -138,7 +138,7 @@ public:
 	void ScanImageEx(SpReqAnsContext<HSPScannerService_ScanImageEx_Req,
 		HSPScannerService_ScanImageEx_Ans>::Pointer ctx)
 	{
-		ScanImageExEvent* pEvent = new ScanImageExEvent();
+		ScanImageExEvent* pEvent = new ScanImageExEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -157,7 +157,7 @@ public:
 	void GetDevStatus(SpReqAnsContext<HSPScannerService_GetDevStatus_Req,
 		HSPScannerService_GetDevStatus_Ans>::Pointer ctx)
 	{
-		GetDevStatusEvent* pEvent = new GetDevStatusEvent();
+		GetDevStatusEvent* pEvent = new GetDevStatusEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -165,7 +165,7 @@ public:
 	void SetWinPos(SpReqAnsContext<HSPScannerService_SetWinPos_Req,
 		HSPScannerService_SetWinPos_Ans>::Pointer ctx)
 	{
-		SetWinPosEvent* pEvent = new SetWinPosEvent();
+		SetWinPosEvent* pEvent = new SetWinPosEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -173,7 +173,7 @@ public:
 	void ShowProperty(SpReqAnsContext<HSPScannerService_ShowProperty_Req,
 		HSPScannerService_ShowProperty_Ans>::Pointer ctx)
 	{
-		ShowPropertyEvent* pEvent = new ShowPropertyEvent();
+		ShowPropertyEvent* pEvent = new ShowPropertyEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
@@ -181,35 +181,35 @@ public:
 	void SetProperty(SpReqAnsContext<HSPScannerService_SetProperty_Req,
 		HSPScannerService_SetProperty_Ans>::Pointer ctx)
 	{
-		SetPropertyEvent* pEvent = new SetPropertyEvent();
+		SetPropertyEvent* pEvent = new SetPropertyEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
 
 	void StartPreviewJS(SpReqAnsContext<HSPScannerService_StartPreviewJS_Req, HSPScannerService_StartPreviewJS_Ans>::Pointer ctx)
 	{
-		JS::StartPreviewEvent* pEvent = new JS::StartPreviewEvent();
+		JS::StartPreviewEvent* pEvent = new JS::StartPreviewEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
 
 	void CancelPreviewJS(SpReqAnsContext<HSPScannerService_CancelPreviewJS_Req, HSPScannerService_CancelPreviewJS_Ans>::Pointer ctx)
 	{
-		JS::CancelPreviewEvent* pEvent = new JS::CancelPreviewEvent();
+		JS::CancelPreviewEvent* pEvent = new JS::CancelPreviewEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
 
 	void ScanImageJS(SpReqAnsContext<HSPScannerService_ScanImageJS_Req, HSPScannerService_ScanImageJS_Ans>::Pointer ctx)
 	{
-		JS::ScanImageEvent* pEvent = new JS::ScanImageEvent();
+		JS::ScanImageEvent* pEvent = new JS::ScanImageEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}
 
 	void SetParamJS(SpReqAnsContext<HSPScannerService_SetParamJS_Req, HSPScannerService_SetParamJS_Ans>::Pointer ctx)
 	{
-		JS::SetParamEvent* pEvent = new JS::SetParamEvent();
+		JS::SetParamEvent* pEvent = new JS::SetParamEvent(&m_fsm);
 		pEvent->m_ctx = ctx;
 		m_fsm.PostEventFIFO(pEvent);
 	}