123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- //
- // Created by LocalUser on 2019/1/7.
- //
- #include "pinpad_impl.h"
- #include <cstring>
- PinPadClassImpl::PinPadClassImpl()
- :m_mode(0)
- {
- }
- PinPadClassImpl::~PinPadClassImpl()
- {
- }
- ErrorCodeEnum PinPadClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
- {
- ErrorCodeEnum err = Error_Succeed;
- std::strcpy(devCategory.szModel, "szModel");
- std::strcpy(devCategory.szType, "szCategory");
- std::strcpy(devCategory.szVendor, "szVendor");
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::Reset()
- {
- ErrorCodeEnum err = Error_Unexpect;
- m_mode = 0;
- return err;
- }
- #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2
- ErrorCodeEnum PinPadClassImpl::DevOpen(int argNum, char* argArray)
- #else
- ErrorCodeEnum PinPadClassImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
- #endif
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::DevClose()
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::KeyRead(BYTE &ch)
- {
- ErrorCodeEnum err = Error_Succeed;
- static int cursor = 0;
- if(m_mode == 0) {
- ch = 0x0d;
- cursor = 0;
- }
- else {
- ch = 0x3f;
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPinInput(BYTE byLen)
- {
- ErrorCodeEnum err = Error_Succeed;
- m_mode = 1;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPinInputConfirm(BYTE byLen)
- {
- ErrorCodeEnum err = Error_Succeed;
- m_mode = 1;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StartPlainInput()
- {
- ErrorCodeEnum err = Error_Succeed;
- m_mode = 0;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::StopInput()
- {
- ErrorCodeEnum err = Error_Succeed;
- m_mode = 0;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::LoadMasterKey(MasterKeyParam masterKey)
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::LoadWorkingKey(WorkKeyParam wkKey)
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN)
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue)
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::EncryptData(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- memset(destInfo.data, 0, sizeof(destInfo.data));
- if(std::strcmp((const char*)srcInfo.data, "0000000000000000") == 0) {
- std::strcpy((char*)destInfo.data, "EC6162E6E08C7279");
- destInfo.dwSize = 16;
- } else if(std::strcmp((const char*)srcInfo.data, "1234567890123456ff00ff001122334400000000000000001234567890123456ff00ff001122334400000000000000001234567890123456ff00ff001122334400000000000000001234567890123456ff00ff001122334400000000000000001234567890123456ff00ff001122334400000000000000001234567890123456") == 0) {
- std::strcpy((char*)destInfo.data, "9DFE47D355F40F33FC634AF5BA511337DC36261313DDF70F6B7E5696EC55BDE4C39F7CE724AA864AC3074B2F4A51FC87C2A160A9102507E8126312B204392EB4BDA42A724E2F75FC9B87EE02B4CB47813A0F9A734EF5680D20D897CB2DB4EB2EF0D24B8AE2FA277F569F222AABE660AA2D276B9432D8941AAA64D1E62209ABFC");
- destInfo.dwSize = 256;
- } else {
- err = Error_NotImpl;
- }
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::MacEncrypt(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo)
- {
- ErrorCodeEnum err = Error_NotImpl;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::GetPinBlock(PinBlock &block)
- {
- ErrorCodeEnum err = Error_Succeed;
- std::strcpy((char*)block.data, "147DE54A44497DDB");
- block.dwSize = 16;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::SetAccNo(AccountInfo accInfo)
- {
- ErrorCodeEnum err = Error_Succeed;
- return err;
- }
- ErrorCodeEnum PinPadClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
- {
- strcpy(devErrInfo.szErrMsg, "hello from pinpad.cmbsz");
- devErrInfo.dwErrMsgLen = strlen("hello from pinpad.cmbsz");
- return Error_Succeed;
- }
- #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2
- DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pOutDevAptObj)
- #else
- DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj)
- #endif
- {
- pOutDevAptObj = new PinPadClassImpl();
- if(pOutDevAptObj == NULL)
- {
- return Error_Resource;
- }
- return Error_Succeed;
- }
- #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2
- DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DWORD dwDevClassID, DeviceBaseClass*& pInDevAptObj)
- #else
- DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj)
- #endif
- {
- if(pInDevAptObj == NULL)
- {
- return Error_Param;
- }
- if(PinPadClassImpl* pTmp = dynamic_cast<PinPadClassImpl*>(pInDevAptObj))
- {
- delete pTmp;
- pTmp = NULL;
- return Error_Succeed;
- }
- return Error_Param;
- }
|