CardIssuerSP.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef CARDISSUER_SP_H
  2. #define CARDISSUER_SP_H
  3. #include "OcxBase.h"
  4. #include "GwiLogFile.h"
  5. #define RET_SUCCESS 0
  6. #define LAYER ("CardIssuer")
  7. #define LogARG(A,B,format, ...) if(A!=NULL) A->B(LAYER,__FILE__,__LINE__,(format),##__VA_ARGS__)
  8. #ifndef _WINDOWS
  9. #define WINAPI
  10. #endif
  11. typedef LPVOID (WINAPI *CreateInstance)(LPVOID attatchparam,LPVOID reServed,LPVOID tools,LPVOID spInter);
  12. typedef void (WINAPI* FreeInstance)(LPVOID p);
  13. class CLogFile;
  14. class CCardIssuerSP : public CEventCallBack
  15. {
  16. public:
  17. CCardIssuerSP(CLogFile *plogFile);
  18. ~CCardIssuerSP(void);
  19. virtual long EventCallBack(long EventType,void* lpResult);
  20. long CardIssuerSPOpen(void);
  21. long CardIssuerSPClose(void);
  22. long Reset(int iMode);
  23. long GetMediaStatus(int &iMediaStatus);
  24. long GetBoxStatus(char *pchIssuerBinStatus,int &iRetainBinStatus);
  25. long GetVersion(char *pszOutBuf);
  26. long EnableCard(int iMode);
  27. long DisableCard(void);
  28. long EjectCard(void);
  29. long DispenseCard(int iHopperNo);
  30. long RetainCard(void);
  31. long PowerOn(int iMode);
  32. long PowerOff(void);
  33. long ChipIO(char *pchInbuf,DWORD iInputLen,char *pchOutbuf,DWORD &iOutLen);
  34. long ReadCardTracks(char *szTrack1,char *szTrack2,char *szTrack3);
  35. long SetRetractCounter(int iCount);
  36. long SetIssuerCounter(int iCount,int iHopperNo);
  37. private:
  38. void ReadConf(void);
  39. bool LoadDll(void);
  40. bool InitSP(void);
  41. OcxBase *m_pIDCOcxBase; /// 设备对象指针
  42. OcxBase *m_pCRDOcxBase;
  43. char m_IDCLogicName[260];
  44. char m_CRDLogicName[260];
  45. char m_OCXDllPath[260];
  46. bool m_bIDCOpen;
  47. bool m_bCRDOpen;
  48. unsigned long m_ulReqID;
  49. CreateInstance m_pCallCreateInstance;
  50. FreeInstance m_pCallFreeInstance;
  51. #ifdef _WINDOWS
  52. HMODULE m_hOCXHandle;
  53. #else
  54. void* m_hOCXHandle;
  55. #endif
  56. CLogFile *m_plogFile;
  57. };
  58. #endif