// // Created by LocalUser on 2019/1/7. // #ifndef LIBFRAMEWORK_PINPAD_IMPL_H #define LIBFRAMEWORK_PINPAD_IMPL_H #include "PinPadClass.h" class PinPadClassImpl : public PinPadClass { public: PinPadClassImpl(); ~PinPadClassImpl(); ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate); //DeviceBaseClass ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory); ErrorCodeEnum Reset(); ErrorCodeEnum DevClose(); ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo); //PinPadClass ErrorCodeEnum KeyRead(BYTE &ch); ErrorCodeEnum PinRead(BYTE &ch); ErrorCodeEnum StartPinInput(BYTE byLen); ErrorCodeEnum StartPinInputConfirm(BYTE byLen); ErrorCodeEnum StartPlainInput(); ErrorCodeEnum StopInput(); ErrorCodeEnum LoadMasterKey(MasterKeyParam masterKey); ErrorCodeEnum LoadWorkingKey(WorkKeyParam wkKey); ErrorCodeEnum ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN); ErrorCodeEnum SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue); ErrorCodeEnum EncryptData(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo); ErrorCodeEnum MacEncrypt(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo); ErrorCodeEnum GetPinBlock(PinBlock &block); ErrorCodeEnum SetAccNo(AccountInfo accInfo); int GetEncryptFunc(){ return 1;} private: int m_mode; }; #endif //LIBFRAMEWORK_PINPAD_IMPL_H