|
@@ -54,7 +54,6 @@ const char* EvtTypeToString(int nEvtType)
|
|
|
T_STRINGY(USER_EVT_SHOWPROPERTY_FINISHED)
|
|
|
T_STRINGY(EVT_TIMER)
|
|
|
T_STRINGY(USER_EVT_SETPROPERTYINVIEW_FINISHED)
|
|
|
- T_STRINGY(USER_EVT_NOCFG)
|
|
|
T_STRINGY(USER_EVT_HIDEPREVIEW)
|
|
|
T_STRINGY(USER_EVT_GOTOHELL)
|
|
|
T_STRINGY(USER_EVT_STARTPREVIEW_JS)
|
|
@@ -65,6 +64,8 @@ const char* EvtTypeToString(int nEvtType)
|
|
|
T_STRINGY(USER_EVT_SCANIMAGE_JS_DONE)
|
|
|
T_STRINGY(USER_EVT_SETPARAM_JS)
|
|
|
T_STRINGY(EVT_MAINPAGE_DISPLAY)
|
|
|
+ T_STRINGY(USER_EVT_INIT)
|
|
|
+ T_STRINGY(USER_EVT_INIT_FINISHED)
|
|
|
default:
|
|
|
return "Unknown EventType";
|
|
|
break;
|
|
@@ -131,44 +132,31 @@ ErrorCodeEnum CHSPScannerFSM::OnInit()
|
|
|
{
|
|
|
ErrorCodeEnum erroCode = Error_Succeed;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Source Code complied at: %s %s", __DATE__, __TIME__);
|
|
|
+ SetDevInitFlag(false);
|
|
|
AddStateHooker(this);
|
|
|
InitialMaxResizeValue();
|
|
|
auto pEntity = GET_DEV_ENTITY_BASE_POINTER();
|
|
|
pEntity->InitializeVendorLogSwitch();
|
|
|
CSimpleStringA strNoUse(true);
|
|
|
auto result = pEntity->ExtractVendorLibFullPath(strNoUse);
|
|
|
- if (result == Error_NotConfig) {
|
|
|
- PostEventLIFO(new FSMEvent(USER_EVT_NOCFG));
|
|
|
- SetDevInitingFlag(false);
|
|
|
- return Error_Succeed;
|
|
|
- }
|
|
|
if (FAILURED(result)) {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Fetch Vendor dllName failed %s(%s).", (LPCTSTR)strNoUse, SpStrError(result));
|
|
|
+ if (result == Error_NotConfig) {
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("The Dll is not config.");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Fetch Vendor dllName failed %s(%s).", (LPCTSTR)strNoUse, SpStrError(result));
|
|
|
+ }
|
|
|
goto FAIL;
|
|
|
}
|
|
|
FulfillAdapterInfoFrom(pEntity->vendorLibInfo);
|
|
|
LogWarn(Severity_Low, Error_Unexpect, HSPScanner_UserErrorCode_ROOT_INFO, (LPCTSTR)m_adapterInfo.adapterFilePath);
|
|
|
- erroCode = LoadUpAdapterLibrary();
|
|
|
- if (erroCode == Error_Succeed) {
|
|
|
- if (Error_Succeed == (erroCode = TryToOpenDevice())) {
|
|
|
- SetDevInitFlag(true);
|
|
|
- SetDevState(DEVICE_STATUS_NORMAL);
|
|
|
- SetDevInitingFlag(false);
|
|
|
- return erroCode;
|
|
|
- }
|
|
|
- }
|
|
|
- //TODO: JS对外错误码提示 [Gifur@2025324]
|
|
|
- else if (erroCode == Error_NotExist) {
|
|
|
- SetLastUserCode(HSPScanner_UserErrorCode_LOAD_DLLFILE_NOTEIXT);
|
|
|
- }
|
|
|
- else {
|
|
|
- SetLastUserCode(HSPScanner_UserErrorCode_LOAD_DLLFILE_FAILED);
|
|
|
- }
|
|
|
+ PostEventLIFO(new FSMEvent(USER_EVT_INIT));
|
|
|
+ return erroCode;
|
|
|
|
|
|
FAIL:
|
|
|
|
|
|
- SetDevInitFlag(false);
|
|
|
SetDevInitingFlag(false);
|
|
|
+ SetDevInitFlag(false);
|
|
|
PostEventLIFO(new FSMEvent(USER_EVT_GOTOHELL));
|
|
|
return Error_Succeed;
|
|
|
}
|
|
@@ -328,9 +316,9 @@ unsigned int CHSPScannerFSM::s0_Idle_on_event(FSMEvent* e)
|
|
|
}
|
|
|
e->SetHandled();
|
|
|
break;
|
|
|
- case USER_EVT_NOCFG:
|
|
|
+ case USER_EVT_INIT:
|
|
|
e->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("HSPScaner is not cofig now.");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("To open device.");
|
|
|
break;
|
|
|
case EVT_MAINPAGE_DISPLAY:
|
|
|
case USER_EVT_EXIT:
|
|
@@ -1335,20 +1323,20 @@ unsigned int CHSPScannerFSM::s7_Exit_on_event(FSMEvent* e)
|
|
|
return uRet;
|
|
|
}
|
|
|
|
|
|
-void CHSPScannerFSM::s8_NotConfig_on_entry()
|
|
|
+void CHSPScannerFSM::s8_Init_on_entry()
|
|
|
{
|
|
|
- SetDevState(DEVICE_STATUS_NORMAL); //避免握手重启
|
|
|
- SetLastUserCode(HSPScanner_UserErrorCode_DLLNAME_NOCFG);
|
|
|
+ SetLastUserCode(LOG_WARN_HSPS_OPENING_NOW);
|
|
|
+ GetEntityBase()->GetFunction()->PostThreadPoolTask(new InitTask(this));
|
|
|
}
|
|
|
|
|
|
-void CHSPScannerFSM::s8_NotConfig_on_exit()
|
|
|
+void CHSPScannerFSM::s8_Init_on_exit()
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
-unsigned int CHSPScannerFSM::s8_NotConfig_on_event(FSMEvent* e)
|
|
|
+unsigned int CHSPScannerFSM::s8_Init_on_event(FSMEvent* e)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s8_on_event: %s(%d), %d.", EvtTypeToString(e->iEvt), e->iEvt, e->param1);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s8_Init_on_event: %s(%d), %d.", EvtTypeToString(e->iEvt), e->iEvt, e->param1);
|
|
|
unsigned int uRet = 0;
|
|
|
switch (e->iEvt) {
|
|
|
/** JS Component [Gifur@20241112]*/
|
|
@@ -1356,32 +1344,28 @@ unsigned int CHSPScannerFSM::s8_NotConfig_on_event(FSMEvent* e)
|
|
|
{
|
|
|
JS::StartPreviewEvent* pEvt = dynamic_cast<JS::StartPreviewEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_StartPreviewJS).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_STARTPREVIEW_JS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_NotConfig, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_CANCELPREVIEW_JS:
|
|
|
{
|
|
|
JS::CancelPreviewEvent* pEvt = dynamic_cast<JS::CancelPreviewEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_CancelPreviewJS).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_CANCELPREVIEW_JS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_NotConfig, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SCANIMAGE_JS:
|
|
|
{
|
|
|
JS::ScanImageEvent* pEvt = dynamic_cast<JS::ScanImageEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_ScanImageJS).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SCANIMAGE_JS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_NotConfig, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SETPARAM_JS:
|
|
|
{
|
|
|
JS::SetParamEvent* pEvt = dynamic_cast<JS::SetParamEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_SetParamJS).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SETPARAM_JS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_NotConfig, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
/** JS Compoent Done [Gifur@20241112]*/
|
|
@@ -1389,74 +1373,67 @@ unsigned int CHSPScannerFSM::s8_NotConfig_on_event(FSMEvent* e)
|
|
|
{
|
|
|
StartPreviewEvent* pEvt = dynamic_cast<StartPreviewEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_StartPreview).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_STARTPREVIEW] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_STOPPREVIEW:
|
|
|
{
|
|
|
StopPreviewEvent* pEvt = dynamic_cast<StopPreviewEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_CancelPreview).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_STOPPREVIEW] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SCANIMAGE:
|
|
|
{
|
|
|
ScanImageEvent* pEvt = dynamic_cast<ScanImageEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_ScanImage).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SCANIMAGE] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SCANIMAGE_EX:
|
|
|
{
|
|
|
ScanImageExEvent* pEvt = dynamic_cast<ScanImageExEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_ScanImageEx).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SCANIMAGE_EX] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SHOWPROPERTY:
|
|
|
{
|
|
|
ShowPropertyEvent* pEvt = dynamic_cast<ShowPropertyEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_ShowProperty).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SHOWPROPERTY] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SETPROPERTY:
|
|
|
{
|
|
|
SetPropertyEvent* pEvt = dynamic_cast<SetPropertyEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_SetProperty).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SETPROPERTY] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_SETWINPOS:
|
|
|
{
|
|
|
SetWinPosEvent* pEvt = dynamic_cast<SetWinPosEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_SetWinPos).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SETWINPOS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
case USER_EVT_GETSTATUS:
|
|
|
{
|
|
|
GetDevStatusEvent* pEvt = dynamic_cast<GetDevStatusEvent*>(e);
|
|
|
pEvt->SetHandled();
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(HSPScannerService_LogCode_GetDevStatus).setResultCode(MapCode2RTAString(GetLastUserCode()))("[USER_EVT_SETWINPOS] 硬件未配置");
|
|
|
- pEvt->m_ctx->Answer(Error_InvalidState, GetLastUserCode());
|
|
|
+ pEvt->m_ctx->Answer(Error_NotInit, GetLastUserCode());
|
|
|
}
|
|
|
break;
|
|
|
- case USER_EVT_GETINFO:
|
|
|
+ case USER_EVT_GOTOHELL:
|
|
|
{
|
|
|
- GetDevInfoEvent* pEvt = dynamic_cast<GetDevInfoEvent*>(e);
|
|
|
- GetDevInfoTask* pTask = new GetDevInfoTask(this);
|
|
|
- pTask->SetContext(pEvt->m_ctx);
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(pTask);
|
|
|
+ e->SetHandled();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case USER_EVT_INIT_FINISHED:
|
|
|
+ {
|
|
|
+ e->SetHandled();
|
|
|
}
|
|
|
- e->SetHandled();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -2001,6 +1978,30 @@ int CHSPScannerFSM::GetDevInfo(SpReqAnsContext<HSPScannerService_GetDevInfo_Req,
|
|
|
return nRes;
|
|
|
}
|
|
|
|
|
|
+int CHSPScannerFSM::Initial()
|
|
|
+{
|
|
|
+ SetDevInitingFlag(true);
|
|
|
+ SetDevInitFlag(false);
|
|
|
+ ErrorCodeEnum erroCode = LoadUpAdapterLibrary();
|
|
|
+ if (erroCode == Error_Succeed) {
|
|
|
+ if (Error_Succeed == (erroCode = TryToOpenDevice())) {
|
|
|
+ SetDevInitFlag(true);
|
|
|
+ SetDevState(DEVICE_STATUS_NORMAL);
|
|
|
+ SetDevInitingFlag(false);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (erroCode == Error_NotExist) {
|
|
|
+ SetLastUserCode(HSPScanner_UserErrorCode_LOAD_DLLFILE_NOTEIXT);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ SetLastUserCode(HSPScanner_UserErrorCode_LOAD_DLLFILE_FAILED);
|
|
|
+ }
|
|
|
+ SetDevInitingFlag(false);
|
|
|
+ SetDevInitFlag(false);
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
BOOL CHSPScannerFSM::GetCurImageName(CSimpleStringA& csImagName, bool bExt /*= false*/)
|
|
|
{
|
|
|
if (bExt) {
|