Transponder class providing commands for all ISO 14443-4 compliant Transponders. More...
#include <FedmIscTagHandler_ISO14443_4.h>
Public Member Functions | |
int | Apdu (unsigned char *pucRequestData, unsigned int iRequestLen, unsigned char *pucResponseData, unsigned int uiResponseBufferLen, unsigned int &uiResponseLen) |
[0xB2][0xBE] : T=CL APDU for synchronous call | |
int | Apdu (unsigned char *pucRequestData, unsigned int iRequestLen, void *pAny, void(*cbFct)(void *, int, int, int)) |
[0xB2][0xBE] : T=CL APDU for asynchronous call | |
int | Deselect () |
[0xB2][0xBE] : T=CL Deselect command | |
int | EnableCID (bool bEnable) |
Enable CID usage. | |
int | EnableNAD (bool bEnable) |
Enable CID usage. | |
unsigned char | GetCID () |
Get CID, actually in use. | |
unsigned char | GetLastISOErrorCode () |
Return of additional, Transponder specific error code. | |
unsigned char | GetNAD () |
Get NAD, actually in use. | |
int | GetResponseData (unsigned char *pucResponseData, unsigned int uiResponseBufferLen, unsigned int &uiResponseLen) |
Returns the responded APDU. | |
int | GetTransponderInfo (unsigned char &ucFSCI, unsigned char &ucFWI, unsigned char &ucDSI, unsigned char &ucDRI, unsigned char &ucNADSupport, unsigned char &ucCIDSupport) |
[0xB2][0x2B] : Get Transponder Info command | |
virtual void | Init () |
Initialization method. | |
bool | IsCIDEnabled () |
Query, if CID usage is enabled. | |
bool | IsNADEnabled () |
Query, if NAD usage is enabled. | |
int | Ping () |
[0xB2][0xBE] : T=CL Ping command | |
void | SetCID (unsigned char ucCID) |
Set CID for next use, if enabled. | |
void | SetNAD (unsigned char ucNAD) |
Set NAD for next use, if enabled. | |
Static Public Member Functions | |
static void | ApduCallback (void *pAny, int iApduHnd, int iError, int iDataLength) |
Protected Member Functions | |
FedmIscTagHandler_ISO14443_4 (FEDM_ISCReader *pReader, FEDM_ISOTabItem *pTabItem) | |
FedmIscTagHandler_ISO14443_4 (FEDM_ISCReader *pReader, unsigned int uiTagHandlerType, FEDM_ISOTabItem *pTabItem) | |
virtual | ~FedmIscTagHandler_ISO14443_4 () |
Protected Attributes | |
bool | m_bUseCID |
bool | m_bUseNAD |
void(* | m_cbFct )(void *, int, int, int) |
int | m_iFetclHnd |
void * | m_pAny |
unsigned char | m_ucCID |
unsigned char | m_ucISO14443ErrorCode |
unsigned char | m_ucNAD |
unsigned char | m_ucRequestData [FEDM_ISO14443_4_APDU_BUFFER_SIZE] |
unsigned char | m_ucResponseData [FEDM_ISO14443_4_APDU_BUFFER_SIZE] |
unsigned int | m_uiResponseLen |
Friends | |
class | FEDM_ISCReader |
class | FEDM_ISCReaderModule |
class | FEDM_ISOTabItem |
Transponder class providing commands for all ISO 14443-4 compliant Transponders.
Description
High-level class for easy-to-use Transponder specific communication. See OBID::FEDM::Core::ITagGroup for additional information.
Definition at line 69 of file FedmIscTagHandler_ISO14443_4.h.
FedmIscTagHandler_ISO14443_4::FedmIscTagHandler_ISO14443_4 | ( | FEDM_ISCReader * | pReader, |
FEDM_ISOTabItem * | pTabItem | ||
) | [protected] |
Definition at line 58 of file FedmIscTagHandler_ISO14443_4.cpp.
FedmIscTagHandler_ISO14443_4::FedmIscTagHandler_ISO14443_4 | ( | FEDM_ISCReader * | pReader, |
unsigned int | uiTagHandlerType, | ||
FEDM_ISOTabItem * | pTabItem | ||
) | [protected] |
Definition at line 90 of file FedmIscTagHandler_ISO14443_4.cpp.
FedmIscTagHandler_ISO14443_4::~FedmIscTagHandler_ISO14443_4 | ( | ) | [protected, virtual] |
Definition at line 123 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::Apdu | ( | unsigned char * | pucRequestData, |
unsigned int | iRequestLen, | ||
unsigned char * | pucResponseData, | ||
unsigned int | uiResponseBufferLen, | ||
unsigned int & | uiResponseLen | ||
) |
[0xB2][0xBE] : T=CL APDU for synchronous call
[in] | pucRequestData | Pointer to array with request APDU |
[in] | iRequestLen | Length (number of bytes) of request APDU |
[out] | pucResponseData | Pointer to array for responded APDU |
[in] | uiResponseBufferLen | Buffer size for responded APDU |
[out] | uiResponseLen | Length (number of bytes) of responded APDU |
Description
See Reader's System Manual for detailed information about the command and the method parameters
The structure of an APDU is defined by ISO/IEC 7816-4.
Definition at line 311 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::Apdu | ( | unsigned char * | pucRequestData, |
unsigned int | iRequestLen, | ||
void * | pAny, | ||
void(*)(void *, int, int, int) | cbFct | ||
) |
[0xB2][0xBE] : T=CL APDU for asynchronous call
[in] | pucRequestData | Pointer to array with request APDU |
[in] | iRequestLen | Length (number of bytes) of request APDU |
[in] | pAny | Pointer to anything, which is reflected as the first parameter in the callback function |
[in] | cbFct | function to be called, if APDU is received or an error must be notified |
Description
See Reader's System Manual for detailed information about the command and the method parameters.
The structure of an APDU is defined by ISO/IEC 7816-4.
The responded APDU must be requested with the method GetResponseData() inside the callback function, if the 3rd parameter iError is 0.
Definition at line 380 of file FedmIscTagHandler_ISO14443_4.cpp.
void FedmIscTagHandler_ISO14443_4::ApduCallback | ( | void * | pAny, |
int | iApduHnd, | ||
int | iError, | ||
int | iDataLength | ||
) | [static] |
Definition at line 565 of file FedmIscTagHandler_ISO14443_4.cpp.
[0xB2][0xBE] : T=CL Deselect command
Description
See Reader's System Manual for detailed information about the command
Definition at line 477 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::EnableCID | ( | bool | bEnable | ) |
Enable CID usage.
Description
Definition at line 154 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::EnableNAD | ( | bool | bEnable | ) |
Enable CID usage.
Description
Definition at line 191 of file FedmIscTagHandler_ISO14443_4.cpp.
unsigned char FedmIscTagHandler_ISO14443_4::GetCID | ( | ) |
Get CID, actually in use.
Description
Definition at line 175 of file FedmIscTagHandler_ISO14443_4.cpp.
unsigned char FedmIscTagHandler_ISO14443_4::GetLastISOErrorCode | ( | ) |
Return of additional, Transponder specific error code.
Description
Reimplemented from FedmIscTagHandler.
Definition at line 144 of file FedmIscTagHandler_ISO14443_4.cpp.
unsigned char FedmIscTagHandler_ISO14443_4::GetNAD | ( | ) |
Get NAD, actually in use.
Description
Definition at line 212 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::GetResponseData | ( | unsigned char * | pucResponseData, |
unsigned int | uiResponseBufferLen, | ||
unsigned int & | uiResponseLen | ||
) |
Returns the responded APDU.
[out] | pucResponseData | Pointer to array for responded APDU |
[in] | uiResponseBufferLen | Buffer size for responded APDU |
[out] | uiResponseLen | Length (number of bytes) of responded APDU |
Description
The structure of an APDU is defined by ISO/IEC 7816-4.
Definition at line 530 of file FedmIscTagHandler_ISO14443_4.cpp.
int FedmIscTagHandler_ISO14443_4::GetTransponderInfo | ( | unsigned char & | ucFSCI, |
unsigned char & | ucFWI, | ||
unsigned char & | ucDSI, | ||
unsigned char & | ucDRI, | ||
unsigned char & | ucNADSupport, | ||
unsigned char & | ucCIDSupport | ||
) |
[0xB2][0x2B] : Get Transponder Info command
[out] | ucFSCI | |
[out] | ucFWI | |
[out] | ucDSI | |
[out] | ucDRI | |
[out] | ucNADSupport | |
[out] | ucCIDSupport |
Description
See Reader's System Manual for detailed information about the command and the method parameters.
Definition at line 244 of file FedmIscTagHandler_ISO14443_4.cpp.
void FedmIscTagHandler_ISO14443_4::Init | ( | ) | [virtual] |
Initialization method.
Description
Clears all data members
Reimplemented from FedmIscTagHandler.
Reimplemented in FedmIscTagHandler_ISO14443_4_MIFARE_DESFire, and FedmIscTagHandler_ISO14443_4_MIFARE_Plus.
Definition at line 130 of file FedmIscTagHandler_ISO14443_4.cpp.
Query, if CID usage is enabled.
Description
Definition at line 180 of file FedmIscTagHandler_ISO14443_4.cpp.
Query, if NAD usage is enabled.
Description
Definition at line 217 of file FedmIscTagHandler_ISO14443_4.cpp.
[0xB2][0xBE] : T=CL Ping command
Description
See Reader's System Manual for detailed information about the command
Definition at line 438 of file FedmIscTagHandler_ISO14443_4.cpp.
void FedmIscTagHandler_ISO14443_4::SetCID | ( | unsigned char | ucCID | ) |
Set CID for next use, if enabled.
Description
Definition at line 149 of file FedmIscTagHandler_ISO14443_4.cpp.
void FedmIscTagHandler_ISO14443_4::SetNAD | ( | unsigned char | ucNAD | ) |
Set NAD for next use, if enabled.
Description
Definition at line 186 of file FedmIscTagHandler_ISO14443_4.cpp.
friend class FEDM_ISCReader [friend] |
Reimplemented from FedmIscTagHandler_ISO14443_3.
Reimplemented in FedmIscTagHandler_ISO14443_4_MIFARE_DESFire, FedmIscTagHandler_ISO14443_4_MIFARE_Plus, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL1, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL2, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3, FedmIscTagHandler_ISO14443_4_Maxim, FedmIscTagHandler_ISO14443_4_Maxim_MAX66020, FedmIscTagHandler_ISO14443_4_Maxim_MAX66040, and FedmIscTagHandler_ISO14443_4_Maxim_MAX66000.
Definition at line 75 of file FedmIscTagHandler_ISO14443_4.h.
friend class FEDM_ISCReaderModule [friend] |
Reimplemented from FedmIscTagHandler_ISO14443_3.
Reimplemented in FedmIscTagHandler_ISO14443_4_MIFARE_DESFire, FedmIscTagHandler_ISO14443_4_MIFARE_Plus, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL1, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL2, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3, FedmIscTagHandler_ISO14443_4_Maxim, FedmIscTagHandler_ISO14443_4_Maxim_MAX66020, FedmIscTagHandler_ISO14443_4_Maxim_MAX66040, and FedmIscTagHandler_ISO14443_4_Maxim_MAX66000.
Definition at line 74 of file FedmIscTagHandler_ISO14443_4.h.
friend class FEDM_ISOTabItem [friend] |
Reimplemented from FedmIscTagHandler_ISO14443_3.
Reimplemented in FedmIscTagHandler_ISO14443_4_MIFARE_DESFire, FedmIscTagHandler_ISO14443_4_MIFARE_Plus, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL1, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL2, FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3, FedmIscTagHandler_ISO14443_4_Maxim, FedmIscTagHandler_ISO14443_4_Maxim_MAX66020, FedmIscTagHandler_ISO14443_4_Maxim_MAX66040, and FedmIscTagHandler_ISO14443_4_Maxim_MAX66000.
Definition at line 76 of file FedmIscTagHandler_ISO14443_4.h.
bool FedmIscTagHandler_ISO14443_4::m_bUseCID [protected] |
Definition at line 268 of file FedmIscTagHandler_ISO14443_4.h.
bool FedmIscTagHandler_ISO14443_4::m_bUseNAD [protected] |
Definition at line 269 of file FedmIscTagHandler_ISO14443_4.h.
void(* FedmIscTagHandler_ISO14443_4::m_cbFct)(void *, int, int, int) [protected] |
Definition at line 274 of file FedmIscTagHandler_ISO14443_4.h.
int FedmIscTagHandler_ISO14443_4::m_iFetclHnd [protected] |
Definition at line 271 of file FedmIscTagHandler_ISO14443_4.h.
void* FedmIscTagHandler_ISO14443_4::m_pAny [protected] |
Definition at line 275 of file FedmIscTagHandler_ISO14443_4.h.
unsigned char FedmIscTagHandler_ISO14443_4::m_ucCID [protected] |
Definition at line 266 of file FedmIscTagHandler_ISO14443_4.h.
unsigned char FedmIscTagHandler_ISO14443_4::m_ucISO14443ErrorCode [protected] |
Definition at line 277 of file FedmIscTagHandler_ISO14443_4.h.
unsigned char FedmIscTagHandler_ISO14443_4::m_ucNAD [protected] |
Definition at line 267 of file FedmIscTagHandler_ISO14443_4.h.
unsigned char FedmIscTagHandler_ISO14443_4::m_ucRequestData[FEDM_ISO14443_4_APDU_BUFFER_SIZE] [protected] |
Reimplemented in FedmIscTagHandler_ISO14443_4_Maxim_MAX66040, and FedmIscTagHandler_ISO14443_4_Maxim_MAX66020.
Definition at line 280 of file FedmIscTagHandler_ISO14443_4.h.
unsigned char FedmIscTagHandler_ISO14443_4::m_ucResponseData[FEDM_ISO14443_4_APDU_BUFFER_SIZE] [protected] |
Reimplemented in FedmIscTagHandler_ISO14443_4_Maxim_MAX66040, and FedmIscTagHandler_ISO14443_4_Maxim_MAX66020.
Definition at line 281 of file FedmIscTagHandler_ISO14443_4.h.
unsigned int FedmIscTagHandler_ISO14443_4::m_uiResponseLen [protected] |
Definition at line 282 of file FedmIscTagHandler_ISO14443_4.h.