// // Created by LocalUser on 2019/1/7. // #ifndef LIBFRAMEWORK_CARDSWIPER_IMPL_H #define LIBFRAMEWORK_CARDSWIPER_IMPL_H #include "CardSwiperClass.h" class CardSwiperImpl : public CardSwiperClass { public: CardSwiperImpl(); ~CardSwiperImpl(); #if DEVICE_BASE_INTERFACE_FILE_VERSION == 2 ErrorCodeEnum DevOpen(int argNum, char* argArray); #else ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate); #endif //DeviceBaseClass ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory); ErrorCodeEnum Reset(); ErrorCodeEnum DevClose(); ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo); //CardSwiperClass virtual ErrorCodeEnum GetDevStatus(CardSwiperStatus& devStatus); virtual ErrorCodeEnum AbortRead(); virtual ErrorCodeEnum QueryCardStatus(const DWORD dwPos, int& iStatus, MagTracks& magTracks); virtual ErrorCodeEnum MagRead(MagTracks& magTracks); virtual ErrorCodeEnum ActiveICCard(); virtual ErrorCodeEnum ActiveContactlessICCard(char fstType, char scdType, char thdType, char& outType); virtual ErrorCodeEnum ContactIC(); virtual ErrorCodeEnum ReleaseIC(); virtual ErrorCodeEnum DeactivateICCard(); virtual ErrorCodeEnum DeactContactlessICCard(); virtual ErrorCodeEnum WarmReset(); virtual ErrorCodeEnum ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf); virtual ErrorCodeEnum MifareCommand(MifareFuctionEnum eFunType, CmdInfo sendBuf, CmdInfo& recvBuf); virtual ErrorCodeEnum RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf); virtual ErrorCodeEnum GetKeyPair(char*& priKey, int& priSize, char*& pubKey, int& pubSize); virtual ErrorCodeEnum LoadPrivateKey(const char* pKey, const int size); virtual ErrorCodeEnum SendRandomNum(const char* pRandomNum, const char* pRamChk, char*& pData); virtual ErrorCodeEnum SendWorkingKey(const char* pWorkingKey); virtual ErrorCodeEnum GetDeviceSN(char*& pDevSN); virtual ErrorCodeEnum TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR1, BYTE*& Cr3, int& lenR3, BYTE*& dKey, int& lenKey); virtual ErrorCodeEnum SetR2(int& iStatus, BYTE* pCr2, int lenR2); virtual ErrorCodeEnum IfDevOnline(int& bOn) { bOn = 1; return Error_Succeed; } virtual ErrorCodeEnum EjectCard(CardPosEnum ePos) { return Error_Succeed; } protected: int m_mode; }; #endif //LIBFRAMEWORK_CARDSWIPER_IMPL_H