// // Created by LocalUser on 2019/1/7. // #include "cardswiper_impl.h" #include #include "demo.h" CardSwiperImpl::CardSwiperImpl() :m_mode(0) { } CardSwiperImpl::~CardSwiperImpl() { } ErrorCodeEnum CardSwiperImpl::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 CardSwiperImpl::Reset() { ErrorCodeEnum err = Error_Unexpect; m_mode = 0; return err; } #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2 ErrorCodeEnum CardSwiperImpl::DevOpen(int argNum, char* argArray) #else ErrorCodeEnum CardSwiperImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate) #endif { static int nums = 1; ErrorCodeEnum err = Error_Succeed; if (nums == 0) { err = Error_Unexpect; nums = 1; } return err; } ErrorCodeEnum CardSwiperImpl::DevClose() { ErrorCodeEnum err = Error_Succeed; return err; } ErrorCodeEnum CardSwiperImpl::GetLastErr(DevErrorInfo &devErrInfo) { strcpy(devErrInfo.szErrMsg, HelloDemo()); devErrInfo.dwErrMsgLen = strlen(HelloDemo()); return Error_Succeed; } ErrorCodeEnum CardSwiperImpl::GetDevStatus(CardSwiperStatus& devStatus) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::AbortRead() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::QueryCardStatus(const DWORD dwPos, int& iStatus, MagTracks& magTracks) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::MagRead(MagTracks& magTracks) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::ActiveICCard() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::ActiveContactlessICCard(char fstType, char scdType, char thdType, char& outType) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::ContactIC() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::ReleaseIC() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::DeactivateICCard() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::DeactContactlessICCard() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::WarmReset() { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::MifareCommand(MifareFuctionEnum eFunType, CmdInfo sendBuf, CmdInfo& recvBuf) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::GetKeyPair(char*& priKey, int& priSize, char*& pubKey, int& pubSize) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::LoadPrivateKey(const char* pKey, const int size) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::SendRandomNum(const char* pRandomNum, const char* pRamChk, char*& pData) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::SendWorkingKey(const char* pWorkingKey) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::GetDeviceSN(char*& pDevSN) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR1, BYTE*& Cr3, int& lenR3, BYTE*& dKey, int& lenKey) { return Error_NotImpl; } ErrorCodeEnum CardSwiperImpl::SetR2(int& iStatus, BYTE* pCr2, int lenR2) { return Error_NotImpl; } #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 CardSwiperImpl(); 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(CardSwiperImpl* pTmp = dynamic_cast(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