00001 /*------------------------------------------------------- 00002 | | 00003 | FedmIscTagHandler_ISO14443_4_MIFARE_Plus.h | 00004 | | 00005 --------------------------------------------------------- 00006 00007 Copyright © 2009-2010 FEIG ELECTRONIC GmbH, All Rights Reserved. 00008 Lange Strasse 4 00009 D-35781 Weilburg 00010 Federal Republic of Germany 00011 phone : +49 6471 31090 00012 fax : +49 6471 310999 00013 e-mail : obid-support@feig.de 00014 Internet : http://www.feig.de 00015 00016 Author : Markus Hultsch 00017 Begin : 24.08.2009 00018 00019 Version : 03.01.00 / 10.02.2010 / M. Hultsch 00020 00021 Operation Systems : independent 00022 00023 Function : class for OBID® classic-pro transponder ISO14443-4 MIFARE Plus 00024 00025 NOTE : this class supports only selected or addressed mode in Host-Mode 00026 00027 00028 Trademarks: 00029 ----------- 00030 OBID®, OBID i-scan® and OBID myAXXESS® are registered Trademarks of FEIG ELECTRONIC GmbH 00031 Other Trademarks: see FEDM.h 00032 */ 00033 00034 #if !defined(_FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_H_INCLUDED_) 00035 #define _FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_H_INCLUDED_ 00036 00037 #if !defined(_FEDM_NO_TAG_HANDLER_ISO14443) 00038 00039 #include "../../FEDM.h" 00040 #include "FedmIscTagHandler_ISO14443_4.h" 00041 00042 class FEDM_ISOTabItem; 00043 00044 00045 00046 //##################################################################################### 00047 // constants 00048 //##################################################################################### 00049 00050 00051 00052 00053 00054 //#################################################################### 00055 // class FedmIscTagHandler_ISO14443_4_MIFARE_Plus 00056 // >> supports only ISO Host Commands << 00057 //#################################################################### 00058 00069 class _FEDM_ISC_CORE_EXT_CLASS FedmIscTagHandler_ISO14443_4_MIFARE_Plus : public FedmIscTagHandler_ISO14443_4 00070 { 00071 public: 00072 00073 // friend classes have access rights to protected members 00074 friend class FEDM_ISCReaderModule; 00075 friend class FEDM_ISCReader; 00076 friend class FEDM_ISOTabItem; 00077 00082 virtual void Init(); 00083 00090 unsigned char GetErrorSource(); 00091 00098 unsigned int GetErrorCode(); 00099 00100 00101 // commands for all security levels 00102 00115 int FirstAuthent( unsigned int uiAesKeyBlockNumber, 00116 unsigned char ucPcdCapLength, 00117 unsigned char* pucPcdCap2, 00118 unsigned char ucReaderKeyIndex ); 00119 00132 int FollowingAuthent( unsigned int uiAesKeyBlockNumber, 00133 unsigned char ucReaderKeyIndex ); 00134 00135 00136 protected: 00137 // constructor not necessary, as this class represents not a real tag type 00138 FedmIscTagHandler_ISO14443_4_MIFARE_Plus(FEDM_ISCReader* pReader, FEDM_ISOTabItem* pTabItem); 00139 // 2. constructor 00140 FedmIscTagHandler_ISO14443_4_MIFARE_Plus(FEDM_ISCReader* pReader, unsigned int uiTagHandlerType, FEDM_ISOTabItem* pTabItem); 00141 // destructor 00142 virtual ~FedmIscTagHandler_ISO14443_4_MIFARE_Plus(); 00143 00144 unsigned char m_ucErrorSource; 00145 unsigned int m_uiErrorCode; 00146 00147 }; 00148 00149 #endif // #if !defined(_FEDM_NO_TAG_HANDLER_ISO14443) 00150 00151 #endif // !defined(_FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_H_INCLUDED_)