// mod_pinpad.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" #include "mod_PinPad.h" void PinPadServerSession::Handle_InputWaitMore(SpOnewayCallContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI(__FUNCTION__)("InputWaitMore something u want to know..."); m_pEntity->InputWaitMore(ctx); } void PinPadServerSession::Handle_InputCancel(SpOnewayCallContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->InputCancel(ctx); DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI(__FUNCTION__)("handle front cancel"); } void PinPadServerSession::Handle_Exit(SpOnewayCallContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->Exit(ctx); } void PinPadServerSession::Handle_GetInputJS(SpReqAnsContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->GetInputJS(ctx); } void PinPadServerSession::Handle_InputCancelJS(SpReqAnsContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->InputCancelJS(ctx); } void PinPadServerSession::Handle_GetInputSM(SpReqAnsContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->GetInputSM(ctx); } void PinPadServerSession::Handle_LoadKeysSM(SpReqAnsContext::Pointer ctx) { DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI(__FUNCTION__)("LoadKeysSM,initializeflag:%d,smflag:%d", ctx->Req.initializeflag, ctx->Req.smflag); DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->LoadKeysSM(ctx); } void PinPadServerSession::Handle_EncryptDataSM(SpReqAnsContext::Pointer ctx) { DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI(__FUNCTION__)("EncryptDataSM,smflag:%d", ctx->Req.smflag); DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->EncryptDataSM(ctx); } void PinPadServerSession::Handle_QueryFunc(SpReqAnsContext::Pointer ctx) { m_pEntity->QueryFunc(ctx); } void PinPadServerSession::Handle_GetCheckCode(SpReqAnsContext::Pointer ctx) { DbgToBeidou(ctx->link, __FUNCTION__)(); m_pEntity->GetCheckCode(ctx); } void PinPadServerSession::Handle_GetDevInfo(SpReqAnsContext::Pointer ctx) { m_pEntity->GetDevInfo(ctx); } void CPinPadEntity::DoInputCancelJS(SpReqAnsContext::Pointer ctx) { ULLINT ullBeginTime = SP::Module::Comm::RVCGetTickCount(); ULLINT ullEndTime = SP::Module::Comm::RVCGetTickCount(); while ((ullEndTime - ullBeginTime) < 5000) { if (_stricmp(m_fsm.GetCurrStateName(), "Input") != 0) { ctx->Answer(Error_Succeed); break; } Sleep(500); ullEndTime = SP::Module::Comm::RVCGetTickCount(); } } void CPinPadEntity::OnSysVarEvent(const char *pszKey, const char *pszValue, const char *pszOldValue, const char *pszEntityName) { if ((_strnicmp(pszKey, "UIState", strlen("UIState")) == 0)) { if (_strnicmp(pszValue, "M", strlen("M")) == 0) m_fsm.SetInWhatPage(PageType_MainPage); else if (_strnicmp(pszValue, "U", strlen("U")) == 0) m_fsm.SetInWhatPage(PageType_UserDesktop); else m_fsm.SetInWhatPage(PageType_Other); } } SP_BEGIN_ENTITY_MAP() SP_ENTITY(CPinPadEntity) SP_END_ENTITY_MAP()