123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- //
- // Created by LocalUser on 2019/1/7.
- //
- #include "pinpad_impl.h"
- #include "pinpad_httpans.h"
- #include <cstring>
- #include "log4vendor.h"
- PinPadClassImpl::PinPadClassImpl()
- :m_mode(0)
- {
- }
- PinPadClassImpl::~PinPadClassImpl()
- {
- }
- ErrorCodeEnum PinPadClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorDevCategoryAns ans;
- err = SimulatorHttpFunction(EntityName, "GetDevCategory", ans);
- LOG4VTM(INFO, "GetDevCategory err = " << err);
- strcpy(devCategory.szType, ans.szType.c_str());
- strcpy(devCategory.szModel, ans.szModel.c_str());
- strcpy(devCategory.szVendor, ans.szVendor.c_str());
- devCategory.eState = (DevStateEnum)ans.eState;
- devCategory.version.wMajor = ans.version.wMajor;
- devCategory.version.wMinor = ans.version.wMinor;
- devCategory.version.wRevision = ans.version.wRevision;
- devCategory.version.wBuild = ans.version.wBuild;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::Reset()
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "Reset", ans);
- LOG4VTM(INFO, "Reset err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
- LOG4VTM(INFO, "DevOpen err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::DevClose()
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "DevClose", ans);
- LOG4VTM(INFO, "DevClose err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::KeyRead(BYTE &ch)
- {
- ErrorCodeEnum err = Error_Succeed;
- KeyReadAns ans;
- err = SimulatorHttpFunction(EntityName, "KeyRead", ans);
- LOG4VTM(INFO, "KeyRead err = " << err);
- if (err == Error_Succeed) {
- ch = (BYTE)ans.ch;
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPinInput(BYTE byLen)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "StartPinInput", ans);
- LOG4VTM(INFO, "StartPinInput err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPinInputConfirm(BYTE byLen)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "StartPinInputConfirm", ans);
- LOG4VTM(INFO, "StartPinInputConfirm err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPlainInput()
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "StartPlainInput", ans);
- LOG4VTM(INFO, "StartPlainInput err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StopInput()
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "StopInput", ans);
- LOG4VTM(INFO, "StopInput err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::LoadMasterKey(MasterKeyParam masterKey)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "LoadMasterKey", ans);
- LOG4VTM(INFO, "LoadMasterKey err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::LoadWorkingKey(WorkKeyParam wkKey)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "LoadWorkingKey", ans);
- LOG4VTM(INFO, "LoadWorkingKey err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "ActiveWorkingKey", ans);
- LOG4VTM(INFO, "ActiveWorkingKey err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "SetParam", ans);
- LOG4VTM(INFO, "SetParam err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::EncryptData(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- EnDecryptInfoAns ans;
- err = SimulatorHttpFunction(EntityName, "EncryptData", ans);
- LOG4VTM(INFO, "EncryptData err = " << err);
- if (err == Error_Succeed) {
- destInfo.dwSize = ans.dwSize;
- memcpy(destInfo.data, ans.data.c_str(), ans.data.length() + 1);
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::MacEncrypt(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- EnDecryptInfoAns ans;
- err = SimulatorHttpFunction(EntityName, "MacEncrypt", ans);
- LOG4VTM(INFO, "MacEncrypt err = " << err);
- if (err == Error_Succeed) {
- destInfo.dwSize = ans.dwSize;
- memcpy(destInfo.data, ans.data.c_str(), ans.data.length() + 1);
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::GetPinBlock(PinBlock &block)
- {
- ErrorCodeEnum err = Error_Succeed;
- PinBlockAns ans;
- err = SimulatorHttpFunction(EntityName, "GetPinBlock", ans);
- LOG4VTM(INFO, "GetPinBlock err = " << err);
- if (err == Error_Succeed) {
- block.dwSize = ans.dwSize;
- memcpy(block.data, ans.data.c_str(), ans.data.length() + 1);
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::SetAccNo(AccountInfo accInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorCommonAns ans;
- err = SimulatorHttpFunction(EntityName, "SetAccNo", ans);
- LOG4VTM(INFO, "SetAccNo err = " << err);
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- SimulatorDevErrInfoAns ans;
- err = SimulatorHttpFunction(EntityName, "GetLastErr", ans);
- LOG4VTM(INFO, "GetLastErr err = " << err);
- devErrInfo.dwErrMsgLen = ans.dwErrMsgLen;
- strcpy(devErrInfo.szErrMsg, ans.szErrMsg.c_str());
- return err;
- }
- DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj)
- {
- pOutDevAptObj = new PinPadClassImpl();
- if(pOutDevAptObj == NULL)
- {
- return Error_Resource;
- }
- cmb::log_init_config config;
- config.dev_name = "vendor_PinPad";
- #if defined(_MSC_VER)
- config.log_dir = ("C:\\rvc\\dbg\\");
- #else
- config.log_dir = ("/opt/rvc/dbg/");
- #endif //_MSC_VER
- std::string str;
- cmb::log4vendor::init(config, str);
- std::string tmpStr = GetSimulatorUrl();
- LOG4VTM(INFO, "URL = " << tmpStr.c_str());
- return Error_Succeed;
- }
- DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj)
- {
- if(pInDevAptObj == NULL)
- {
- return Error_Param;
- }
- if(PinPadClassImpl* pTmp = dynamic_cast<PinPadClassImpl*>(pInDevAptObj))
- {
- delete pTmp;
- pTmp = NULL;
- return Error_Succeed;
- }
- return Error_Param;
- }
- #ifdef NEWER_COMPILER_WORKAROUNDS
- DEVICEBASE_API ErrorCodeEnum GetDevAdapterVersion(DevSoftVersion& retVesion)
- {
- retVesion.wMajor = retVesion.wMinor = retVesion.wBuild = retVesion.wRevision = 0;
- return Error_Succeed;
- }
- #endif // NEWER_COMPILER_WORKAROUNDS
|