|
@@ -57,11 +57,6 @@ void CCardReadAdapterFSM::s0_on_entry()
|
|
|
m_eMachineType = MachineType_RVC_DESK2S;
|
|
|
else if (_strnicmp((const char*)m_csMachineType, "RVC.Desk1S", strlen("RVC.Desk1S")) == 0)
|
|
|
m_eMachineType = MachineType_RVC_DESK1S;
|
|
|
- else if (_strnicmp((const char*)m_csMachineType, "RVC.IL", strlen("RVC.IL")) == 0)
|
|
|
- {
|
|
|
- m_bRVCIL = true;
|
|
|
- m_eMachineType = MachineType_RVC_IL;
|
|
|
- }
|
|
|
FSMEvent *pEvt;
|
|
|
|
|
|
pEvt = new FSMEvent(USER_EVT_INIT);
|
|
@@ -125,6 +120,7 @@ void CCardReadAdapterFSM::s2_on_entry()
|
|
|
m_bIssuingExit = false;
|
|
|
m_bCancelAccept = false;
|
|
|
m_lastS2Event = m_lastS2EvtParam1 = 0;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Idle;
|
|
|
}
|
|
|
void CCardReadAdapterFSM::s2_on_exit()
|
|
|
{
|
|
@@ -715,7 +711,7 @@ int CCardReadAdapterFSM::CardIssuerRead(SpReqAnsContext<CardReadAdapterService_R
|
|
|
char msg[128];
|
|
|
memset(msg, 0, 128);
|
|
|
sprintf(msg, "Maybe the thread pool is wrong.CardIssuerRead,bCancel:%d,cardpos:%d", m_bCancelAccept, m_busCtx.eCardFromWhich);
|
|
|
- LogWarn(Severity_Low, Error_NotInit, CardReadAdapter_UserErrorCode_MayBe_ThreadPool_Wrong, msg);
|
|
|
+ LogWarn(Severity_Middle, Error_NotInit, CardReadAdapter_UserErrorCode_MayBe_ThreadPool_Wrong, msg);
|
|
|
return 3;
|
|
|
}
|
|
|
ErrorCodeEnum eErr = Error_Unexpect;
|
|
@@ -754,12 +750,14 @@ int CCardReadAdapterFSM::CardIssuerRead(SpReqAnsContext<CardReadAdapterService_R
|
|
|
CardIssuerService_Insert_Ans ans;
|
|
|
req.aid = ctx->Req.aid;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("to call cardissuer insert..");
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_WaitForCard;
|
|
|
eErr = m_pCardIssuer->Insert(req, ans, 59000, dwUsrErrCode);
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Card insert into CardIssuer.");
|
|
|
bHasCard = true;
|
|
|
m_busCtx.eCardFromWhich = Card_In_CardIssuer;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Read;
|
|
|
if (IsContactlessCardSessionOK())
|
|
|
m_pContactless->CancelInsert();
|
|
|
}
|
|
@@ -816,7 +814,7 @@ int CCardReadAdapterFSM::CardIssuerRead(SpReqAnsContext<CardReadAdapterService_R
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("CardIssuer QueryCardInfo failed return:", eErr);
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("CardIssuer QueryCardInfo failed return:%d", eErr);
|
|
|
return 1;//oilyang@20190709
|
|
|
}
|
|
|
if (bHasCard && bNeedPreOnline)
|
|
@@ -902,6 +900,7 @@ int CCardReadAdapterFSM::ContactlessCardRead(SpReqAnsContext<CardReadAdapterServ
|
|
|
dwEnd = GetTickCountRVC();
|
|
|
DWORD dwTimeout = ReadCard_TIMEOUT - (dwEnd-dwStart);
|
|
|
m_busCtx.eCardFromWhich = Card_In_No_Where;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_WaitForCard;
|
|
|
eErr = m_pContactless->Insert(req, ans, dwTimeout, dwUserCode);
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
@@ -919,6 +918,7 @@ int CCardReadAdapterFSM::ContactlessCardRead(SpReqAnsContext<CardReadAdapterServ
|
|
|
ctx->Ans.t2ExpireDate = ans.t2ExpireDate;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Card in ContactlessCard.");
|
|
|
m_busCtx.eCardFromWhich = Card_In_ContactlessCard;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Read;
|
|
|
//if (IsCardIssuerSessionOK()){
|
|
|
// m_pCardIssuer->CancelInsert();
|
|
|
//}
|
|
@@ -1082,11 +1082,13 @@ int CCardReadAdapterFSM::CardSwiperRead(SpReqAnsContext<CardReadAdapterService_R
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("CardSwiperRead, aid:%s,lightPos:%d",(const char*)req.aid,req.LightPos));
|
|
|
|
|
|
DWORD dwUserCode = 0;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_WaitForCard;
|
|
|
eErr = m_pCardSwiper->Read(req, ans, 60000, dwUserCode);
|
|
|
eRetErr = eErr;
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
m_busCtx.eCardFromWhich = Card_In_CardSwiper;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Read;
|
|
|
//oilyang@20180913 由于CardSwiper没有插卡过程,直接进行pboc流程,需要提前取消其他实体的输入
|
|
|
if (IsCardIssuerSessionOK())
|
|
|
m_pCardIssuer->CancelInsert();
|
|
@@ -1398,6 +1400,7 @@ int CCardReadAdapterFSM::EjectCard(SpReqAnsContext<CardReadAdapterService_Eject_
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
m_busCtx.eCardFromWhich = Card_In_No_Where;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Eject;
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CardIssuer EjectCard suc.");
|
|
|
}
|
|
|
else {
|
|
@@ -1413,6 +1416,7 @@ int CCardReadAdapterFSM::EjectCard(SpReqAnsContext<CardReadAdapterService_Eject_
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
m_busCtx.eCardFromWhich = Card_In_No_Where;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Eject;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ContactlessCard EjectCard suc.");
|
|
|
}
|
|
|
else {
|
|
@@ -1428,6 +1432,7 @@ int CCardReadAdapterFSM::EjectCard(SpReqAnsContext<CardReadAdapterService_Eject_
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
m_busCtx.eCardFromWhich = Card_In_No_Where;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Eject;
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CardSwiper EjectCard suc.");
|
|
|
}
|
|
|
else {
|
|
@@ -1457,6 +1462,7 @@ int CCardReadAdapterFSM::CaptureCard(SpReqAnsContext<CardReadAdapterService_Capt
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CardIssuer Capture card suc.");
|
|
|
m_busCtx.eCardFromWhich = Card_In_No_Where;
|
|
|
+ m_busCtx.eCardProcStage = Card_ProcStage_Capture;
|
|
|
}
|
|
|
else {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("CaptureCard, CardIssuer Capture failed return:%d", eErr);
|
|
@@ -1566,7 +1572,7 @@ void CCardReadAdapterFSM::CheckAndReconnectSession()
|
|
|
{
|
|
|
//the first time to connect or need to reconnect
|
|
|
//CardIssuer
|
|
|
- if (!m_bRVCIL && (m_pCardIssuer == NULL || (m_pCardIssuer != NULL && m_pCardIssuer->QuerySessionClosed())))
|
|
|
+ if ((m_pCardIssuer == NULL || (m_pCardIssuer != NULL && m_pCardIssuer->QuerySessionClosed())))
|
|
|
{
|
|
|
if (m_pCardIssuer != NULL)
|
|
|
{
|
|
@@ -1676,7 +1682,7 @@ bool CCardReadAdapterFSM::IsTheEntity(int module,ModuleType eModule)
|
|
|
//oilyang@20180409 add req.module==99
|
|
|
else if (module == 99)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("req.module is 99,machineType is:%s",(const char*)m_csMachineType);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("req.module is 99,machineType is:%s",m_csMachineType.GetData());
|
|
|
//oilyang@20200730 according to meeting with Ratail/Test/Hangzhou
|
|
|
//Desk2S 2.1 can insert into CardIssuer
|
|
|
//oilyang@20200612 if "RVC.Desk2S" ,no need to call CardIssuer(insert card)
|
|
@@ -1716,15 +1722,16 @@ int CCardReadAdapterFSM::SetSomeFlag(SpReqAnsContext<CardReadAdapterService_SetS
|
|
|
req.reserved1[i] = ctx->Req.reserved1[i];
|
|
|
}
|
|
|
ErrorCodeEnum eErr = m_pCardIssuer->SetSomeFlag(req, ans,10000);
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CardIssuer SetSomeFlag ret:%d",eErr);
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
ctx->Ans.reserved1.Copy(ans.reserved1);
|
|
|
ctx->Ans.reserved2.Copy(ans.reserved2);
|
|
|
ctx->Answer(Error_Succeed);
|
|
|
}
|
|
|
- else
|
|
|
+ else{
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CardIssuer SetSomeFlag failed return:%d",eErr);
|
|
|
ctx->Answer(Error_Unexpect);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -1809,8 +1816,8 @@ int CCardReadAdapterFSM::GetDevInfo(SpReqAnsContext<CardReadAdapterService_GetDe
|
|
|
ctx->Ans.model[index] = csCIModel;
|
|
|
ctx->Ans.version[index] = csCIVersion;
|
|
|
ctx->Ans.state[index] = ciState;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("CardIssuer,type:%s,model:%s,version:%s,state:%d", (const char*)csCIType, (const char*)csCIModel
|
|
|
- , (const char*)csCIVersion, ciState);
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("CardIssuer, type:%s, model:%s, version:%s, state:%d",
|
|
|
+ csCIType.GetData(), csCIModel.GetData(), csCIVersion.GetData(), ciState);
|
|
|
index++;
|
|
|
}
|
|
|
if (bCC)
|
|
@@ -1820,8 +1827,8 @@ int CCardReadAdapterFSM::GetDevInfo(SpReqAnsContext<CardReadAdapterService_GetDe
|
|
|
ctx->Ans.model[index] = csCCModel;
|
|
|
ctx->Ans.version[index] = csCCVersion;
|
|
|
ctx->Ans.state[index] = ccState;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("ContactlessCard,type:%s,model:%s,version:%s,state:%d", (const char*)csCCType, (const char*)csCCModel
|
|
|
- , (const char*)csCCVersion, ccState);
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("ContactlessCard, type:%s, model:%s, version:%s, state:%d",
|
|
|
+ csCCType.GetData(), csCCModel.GetData(), csCCVersion.GetData(), ccState);
|
|
|
index++;
|
|
|
}
|
|
|
if (bCS)
|
|
@@ -1831,8 +1838,8 @@ int CCardReadAdapterFSM::GetDevInfo(SpReqAnsContext<CardReadAdapterService_GetDe
|
|
|
ctx->Ans.model[index] = csCSModel;
|
|
|
ctx->Ans.version[index] = csCSVersion;
|
|
|
ctx->Ans.state[index] = csState;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("CardSwiper,type:%s,model:%s,version:%s,state:%d", (const char*)csCSType, (const char*)csCSModel
|
|
|
- , (const char*)csCSVersion, csState);
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("CardSwiper, type:%s, model:%s, version:%s, state:%d",
|
|
|
+ csCSType.GetData(), csCSModel.GetData(), csCSVersion.GetData(), csState);
|
|
|
index++;
|
|
|
}
|
|
|
ctx->Answer(Error_Succeed);
|
|
@@ -2274,16 +2281,18 @@ int CCardReadAdapterFSM::PreOnlineOnStore(SpReqAnsContext<CardReadAdapterService
|
|
|
LogWarn(Severity_Low, Error_Unexpect, CardReadAdapter_UserErrorCode_PreOnline_Result, outParam.GetData());
|
|
|
ctx->Answer(eErr);
|
|
|
}else if (eErr == Error_TimeOut) {
|
|
|
- DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2R01")("HBService_No_Return");
|
|
|
+ DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2R01")("PreOnlineOnStore timeout(62s)");
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("PreOnlineOnStore, CardIssuer PreOnlineOnStore failed return:%d", eErr));
|
|
|
ctx->Answer(Error_TimeOut, CardReadAdapter_UserErrorCode_HBService_No_Return);
|
|
|
}
|
|
|
else if (eErr == Error_Duplication)
|
|
|
ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DupCallPreOnline_WhileInWorking);
|
|
|
else if (eErr == Error_ReplyTimeOut)
|
|
|
- ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_CardStore_Reply_TooLong);
|
|
|
+ ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_CardStore_Reply_TooLong);
|
|
|
else if (eErr == Error_DevNotAvailable)
|
|
|
ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_CardActive_CardStore_OffLine);
|
|
|
+ else if (eErr == Error_Hardware)
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_CardActive_CardIssuer_InFaultState);
|
|
|
else {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("PreOnlineOnStore, CardIssuer PreOnlineOnStore failed return:%d", eErr));
|
|
|
ctx->Answer(eErr);
|
|
@@ -2292,7 +2301,7 @@ int CCardReadAdapterFSM::PreOnlineOnStore(SpReqAnsContext<CardReadAdapterService
|
|
|
else
|
|
|
{
|
|
|
LogWarn(Severity_High, Error_Unexpect, CardReadAdapter_UserErrorCode_PreOnline_CardIssuer_Not_Ok, "Entity CardIssuer is not ok.");
|
|
|
- ctx->Answer(Error_Unexpect, CardReadAdapter_UserErrorCode_PreOnline_CardIssuer_Not_Ok);
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardReadAdapter_UserErrorCode_PreOnline_CardIssuer_Not_Ok);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -2339,6 +2348,7 @@ int CCardReadAdapterFSM::QueryCardInfoOnStore(SpReqAnsContext<CardReadAdapterSer
|
|
|
LOG_FUNCTION();
|
|
|
if (IsCardIssuerSessionOK())
|
|
|
{
|
|
|
+ DWORD dwUserErrorCode = 0;
|
|
|
ErrorCodeEnum eErr = Error_Unexpect;
|
|
|
CardIssuerService_QueryCardInfoOnStore_Req req;
|
|
|
CardIssuerService_QueryCardInfoOnStore_Ans ans;
|
|
@@ -2347,7 +2357,7 @@ int CCardReadAdapterFSM::QueryCardInfoOnStore(SpReqAnsContext<CardReadAdapterSer
|
|
|
req.reserved3.Copy(ctx->Req.reserved3);
|
|
|
req.reserved4.Copy(ctx->Req.reserved4);
|
|
|
|
|
|
- eErr = m_pCardIssuer->QueryCardInfoOnStore(req, ans, INT_MAX / 2 - 5000);
|
|
|
+ eErr = m_pCardIssuer->QueryCardInfoOnStore(req, ans, INT_MAX / 2 - 5000, dwUserErrorCode);
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
ctx->Ans.cardPos = ans.cardPos;
|
|
@@ -2356,16 +2366,17 @@ int CCardReadAdapterFSM::QueryCardInfoOnStore(SpReqAnsContext<CardReadAdapterSer
|
|
|
ctx->Ans.reserved2.Copy(ans.reserved2);
|
|
|
ctx->Ans.reserved3.Copy(ans.reserved3);
|
|
|
ctx->Ans.reserved4.Copy(ans.reserved4);
|
|
|
- }
|
|
|
- else {
|
|
|
+ ctx->Answer(Error_Succeed);
|
|
|
+ }else{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("QueryCardInfoOnStore, CardIssuer QueryCardInfoOnStore failed return:%d", eErr);
|
|
|
+ ctx->Answer(eErr, dwUserErrorCode);
|
|
|
}
|
|
|
- ctx->Answer(eErr);
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Entity CardIssuer is not ok.");
|
|
|
- ctx->Answer(Error_Unexpect);
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardReadAdapter_UserErrorCode_PreOnline_CardIssuer_Not_Ok);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -2374,6 +2385,7 @@ int CCardReadAdapterFSM::GetAddCardInfo(SpReqAnsContext<CardReadAdapterService_G
|
|
|
LOG_FUNCTION();
|
|
|
if (IsCardIssuerSessionOK())
|
|
|
{
|
|
|
+ DWORD dwUserErrorCode = 0;
|
|
|
ErrorCodeEnum eErr = Error_Unexpect;
|
|
|
CardIssuerService_GetAddCardInfo_Req req;
|
|
|
CardIssuerService_GetAddCardInfo_Ans ans;
|
|
@@ -2382,7 +2394,7 @@ int CCardReadAdapterFSM::GetAddCardInfo(SpReqAnsContext<CardReadAdapterService_G
|
|
|
req.reserved2.Copy(ctx->Req.reserved2);
|
|
|
req.reserved3.Copy(ctx->Req.reserved3);
|
|
|
req.reserved4.Copy(ctx->Req.reserved4);
|
|
|
- eErr = m_pCardIssuer->GetAddCardInfo(req, ans, 10000);
|
|
|
+ eErr = m_pCardIssuer->GetAddCardInfo(req, ans, 10000, dwUserErrorCode);
|
|
|
if (eErr == Error_Succeed)
|
|
|
{
|
|
|
ctx->Ans.account = ans.account;
|
|
@@ -2393,16 +2405,16 @@ int CCardReadAdapterFSM::GetAddCardInfo(SpReqAnsContext<CardReadAdapterService_G
|
|
|
ctx->Ans.reserved2.Copy(ans.reserved2);
|
|
|
ctx->Ans.reserved3.Copy(ans.reserved3);
|
|
|
ctx->Ans.reserved4.Copy(ans.reserved4);
|
|
|
+ ctx->Answer(Error_Succeed);
|
|
|
+ }else{
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetAddCardInfo, CardIssuer GetAddCardInfo failed return:%d,%x", eErr, dwUserErrorCode);
|
|
|
+ ctx->Answer(eErr, dwUserErrorCode);
|
|
|
}
|
|
|
- else {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetAddCardInfo, CardIssuer GetAddCardInfo failed return:%d", eErr);
|
|
|
- }
|
|
|
- ctx->Answer(eErr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Entity CardIssuer is not ok.");
|
|
|
- ctx->Answer(Error_Unexpect);
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardReadAdapter_UserErrorCode_PreOnline_CardIssuer_Not_Ok);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -2520,12 +2532,13 @@ int CCardReadAdapterFSM::LocalCallHeartBeat(int method, CBlob &bbSend,bool bTwoW
|
|
|
req.paramX = bbSend;
|
|
|
req.type = method;
|
|
|
eErr = pClient->CrossTermCall(req, ans, 20000);
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CrossTermCall to HeartBeat from %s to %s, result:%x", (const char*)req.fromTerminalNo, (const char*)req.toTerminalNo, eErr);
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CrossTermCall to HeartBeat from %s to %s, result:%x",
|
|
|
+ req.fromTerminalNo.GetData(), req.toTerminalNo.GetData(), eErr);
|
|
|
return 0;
|
|
|
}
|
|
|
bool CCardReadAdapterFSM::GetAttachedTerminal(CSimpleStringA &csTerm)
|
|
|
{
|
|
|
- return GetEntityBase()->GetFunction()->GetSysVar("AttachedTerminal", csTerm);
|
|
|
+ return (Error_Succeed == GetEntityBase()->GetFunction()->GetSysVar("AttachedTerminal", csTerm));
|
|
|
}
|
|
|
void CCardReadAdapterFSM::CancelReadForEntity(ModuleType eModule)
|
|
|
{
|
|
@@ -2542,9 +2555,13 @@ void CCardReadAdapterFSM::CancelReadForEntity(ModuleType eModule)
|
|
|
if (IsTheEntity(eModule, Module_ContactlessCard) && IsContactlessCardSessionOK())
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Cancel read by CardSwiper of ContactlessCard.");
|
|
|
- ContactlessCardService_CancelInsert_Info info;
|
|
|
m_pContactless->CancelInsert();
|
|
|
}
|
|
|
+ if (IsTheEntity(eModule, Module_CardSwiper) && IsCardSwiperSessionOK())
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Cancel read by ContactlessCard of CardSwiper.");
|
|
|
+ m_pCardSwiper->CancelInsert();
|
|
|
+ }
|
|
|
}
|
|
|
int CCardReadAdapterFSM::PrintCardIm(SpReqAnsContext<CardReadAdapterService_PrintCardImmediately_Req, CardReadAdapterService_PrintCardImmediately_Ans>::Pointer ctx)
|
|
|
{
|