CardIssuerClassImpl_ACT-Sankyo.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #ifndef __CARDISSUERCLASS_IMPL_CRT591HDR1_H
  2. #define __CARDISSUERCLASS_IMPL_CRT591HDR1_H
  3. //#include "log4vendor.h"
  4. #include "CardIssuerClass.h"
  5. #include "ACT-Sankyo_DevCtrl.h"
  6. #include <mutex>
  7. #define CARDISSUER_ADAPTER_MUTEX "CardIssuerAdapterMutex"
  8. //�����汾
  9. #define FILE_MAJOR 1
  10. #define FILE_MINOR 0
  11. #define FILE_REVISION 0
  12. #define FILE_BUILD 1
  13. #define SaveErrorInfo(errMsg, errCode) _SaveErrorInfo(errMsg, errCode, __FUNCTION__, __LINE__)
  14. #define ErrorCodeToCMB(wRes) _ErrorCodeToCMB(wRes, __FUNCTION__, __LINE__)
  15. class CardIssuerClassImpl : public CardIssuerClass
  16. {
  17. public:
  18. CardIssuerClassImpl();
  19. ~CardIssuerClassImpl();
  20. protected:
  21. virtual ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory);
  22. virtual ErrorCodeEnum Reset();
  23. virtual ErrorCodeEnum DevClose();
  24. virtual ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo);
  25. virtual ErrorCodeEnum DevOpen(DWORD dwPort,DWORD dwBaudRate);
  26. virtual ErrorCodeEnum GetDevStatus(CardIssuerStatus &devStatus);
  27. virtual ErrorCodeEnum GetDeviceSN(char *&pDevSN);
  28. virtual ErrorCodeEnum MoveCard(CardPosEnum eCardPos, int hopperNo = 1);
  29. virtual ErrorCodeEnum SetCardInType(CardInEnum eCardIn);
  30. virtual ErrorCodeEnum MagRead(MagTracks &magTracks);
  31. virtual ErrorCodeEnum MagWrite(MagTracks magTracks,MagWriteModeEnum eWriteMode);
  32. virtual ErrorCodeEnum SetRetractCounter(DWORD dwCount);
  33. virtual ErrorCodeEnum SetIssuerCounter(DWORD dwCount,int hopperNo=1);
  34. virtual ErrorCodeEnum ActiveICCard();
  35. virtual ErrorCodeEnum ContactIC();
  36. virtual ErrorCodeEnum ReleaseIC();
  37. virtual ErrorCodeEnum WarmReset();
  38. virtual ErrorCodeEnum ICCommand(CmdInfo sendBuf,CmdInfo &recvBuf);
  39. ////////////////////////////////////////////////////////////////////////////
  40. ////////�ǽ�(IC)���� start��û�д˲��֣��ڽӿ�ʵ����ֱ�ӷ���Error_NotImpl///////////////
  41. ////////////////////////////////////////////////////////////////////////////
  42. virtual ErrorCodeEnum ActiveContactlessICCard(char fstType, char scdType, char thdType, char &outType);
  43. virtual ErrorCodeEnum DeactivateICCard();
  44. virtual ErrorCodeEnum DeactContactlessICCard();
  45. virtual ErrorCodeEnum MifareCommand(MifareFuctionEnum eFunType, CmdInfo sendBuf, CmdInfo &recvBuf);
  46. virtual ErrorCodeEnum RFTypeABCommand(CmdInfo sendBuf, CmdInfo &recvBuf);
  47. ////////�ǽ�(IC)���� end/////////////////////////////////////////////////////////
  48. /////////////////////////////////////////////////////////////////////////
  49. ///�����DZ�Яʽ��������API���ӿ�ʵ������������ֱ�ӷ���Error_NotImpl����//
  50. /////////////////////////////////////////////////////////////////////////
  51. virtual ErrorCodeEnum DevOpenEx(DWORD dwPort, DWORD dwBaudRate, BYTE btOpenType,const char *pDevSN, BYTE &btType);
  52. virtual ErrorCodeEnum TransferEnInit(int &iStatus, BYTE *&Cr1, int &lenR1, BYTE *&Cr3, int &lenR3, BYTE *&dKey, int &lenKey);
  53. virtual ErrorCodeEnum SetR2(int &iStatus, BYTE *pCr2, int lenR2);
  54. virtual ErrorCodeEnum SendWorkingKey(const char *pWorkingKey);
  55. //��ȫ���ӿڲ��� begin
  56. virtual ErrorCodeEnum SLLoadKey(const SCIKeyInfo key);
  57. virtual ErrorCodeEnum SLSetParam(SCIParamType eType, int value);
  58. virtual ErrorCodeEnum SLLock();
  59. virtual ErrorCodeEnum SLUnLock(const SCICheckCode checkCode, bool bTemp = true);
  60. virtual ErrorCodeEnum SLGetTempData(SCITempData &ksnData, SCITempData &ramData);
  61. virtual ErrorCodeEnum SLOpenDoor(const SCITempData data);
  62. //��ȫ���ӿڲ��� end
  63. //�������Ʋ��� start
  64. //����ָ�����ƣ������ο�SCIBluetoothCMD˵��
  65. virtual ErrorCodeEnum BluetoothControl(SCIBluetoothCMD eCmd);
  66. //�޸���������
  67. virtual ErrorCodeEnum BluetoothModifyKey(unsigned char *key);
  68. //�޸������豸����
  69. virtual ErrorCodeEnum BluetoothModifyName(unsigned char *name);
  70. //��ȡ�汾��Ϣ
  71. virtual ErrorCodeEnum BluetoothGetVersion(char *&version);
  72. //��ȡ�����豸����
  73. virtual ErrorCodeEnum BluetoothGetConnectName(unsigned char *&name);
  74. //��ȡ�����豸�ź�ǿ��
  75. virtual ErrorCodeEnum BluetoothGetSignalStrength(unsigned char *&signal);
  76. //�������Ʋ��� end
  77. //���Ƶƹ�
  78. //eLight�������Ƶĵ� ��
  79. //bOnOff��true ���ƣ�fasle ����
  80. virtual ErrorCodeEnum LightControl(SCILightType eLight, bool bOnOff);
  81. //�԰ٷֱ���ֵ����ʣ��������1-100��������ʣ��51%����bat��ֵΪ51
  82. virtual ErrorCodeEnum QueryBatteryPower(int &bat);
  83. private:
  84. bool m_bDevOpen;
  85. bool m_bOpenReset;
  86. CHAR m_szErrMsg[MAX_DEV_ERROR_MSG_LEN];
  87. CHAR m_szFWVer[128];
  88. CHAR m_szCHUVer[128];
  89. WORD m_wDevErrCode;
  90. //void SaveErrorInfo(CHAR* errMsg, CHAR* errCode, WORD wDevCode);
  91. void _SaveErrorInfo(CHAR* errMsg, int errCode, const CHAR* strFunc, int nLine);
  92. ErrorCodeEnum GetDevStatus_Private(CardIssuerStatus &devStatus);
  93. private:
  94. int string_format(std::string &str, const std::string fmt, ...);
  95. private:
  96. ErrorCodeEnum _ErrorCodeToCMB(WORD wRes, const CHAR* strFunc, int nLine);
  97. private:
  98. CACT_Sankyo_DevCtrl* m_pACT_Sankyo_DevCtrl;
  99. std::string m_strIniPath;
  100. //void CMBLogInit();
  101. std::mutex m_mutex;
  102. };
  103. #endif //__CARDISSUERCLASS_IMPL_CRT591HDR1_H