LibLogicalAccess
2.5.0
An Open Source RFID Library
|
The ISO7816 reader unit class. More...
#include <iso7816readerunit.hpp>
Public Member Functions | |
ISO7816ReaderUnit (std::string rpt) | |
virtual | ~ISO7816ReaderUnit () |
bool | waitInsertion (unsigned int) override |
Wait for a card insertion. | |
bool | waitRemoval (unsigned int) override |
Wait for a card removal. | |
bool | isConnected () override |
Check if the card is connected. | |
void | setCardType (std::string) override |
Set the forced card type. | |
std::shared_ptr< Chip > | getSingleChip () override |
Get the first and/or most accurate chip found. | |
std::vector< std::shared_ptr< Chip > > | getChipList () override |
Get chip available in the RFID rang. | |
bool | connect () override |
Connect to the card. | |
void | disconnect () override |
Disconnect from the card. | |
virtual void | connectToSAM () |
bool | connectToReader () override |
Connect to the reader. Implicit connection on first command sent. | |
virtual void | disconnectFromSAM () |
void | disconnectFromReader () override |
Disconnect from reader. | |
virtual void | reloadReaderConfiguration () |
virtual void | setContext (const std::string &context) |
Set the client context. | |
virtual std::string | getContext () |
Get the client context. | |
std::string | getName () const override |
Get the reader unit name. | |
std::string | getReaderSerialNumber () override |
Get a string hexadecimal representation of the reader serial number. | |
std::shared_ptr< CardProbe > | createCardProbe () override |
virtual std::shared_ptr< SAMChip > | getSAMChip () |
Get The SAM Chip. | |
virtual void | setSAMChip (std::shared_ptr< SAMChip > t) |
Set the SAM Chip. | |
virtual std::shared_ptr< ISO7816ReaderUnit > | getSAMReaderUnit () |
Get The SAM ReaderUnit. | |
virtual void | setSAMReaderUnit (std::shared_ptr< ISO7816ReaderUnit > t) |
Set the SAM ReaderUnit. | |
![]() | |
ReaderUnit (std::string rpt) | |
Constructor. | |
virtual | ~ReaderUnit () |
Destructor. | |
std::string | getRPType () const |
Get the reader provider type. | |
virtual ByteVector | getPingCommand () const |
Get the reader ping command. | |
virtual bool | waitInsertion (unsigned int maxwait)=0 |
Wait for a card insertion. | |
virtual bool | waitInsertion (const ByteVector &identifier, unsigned int maxwait) |
Wait for a specific card insertion. | |
virtual bool | waitRemoval (unsigned int maxwait)=0 |
Wait for a card removal. | |
virtual bool | isConnected ()=0 |
Check if the card is connected. | |
std::string | getCardType () const |
Get the forced card type. | |
virtual void | setCardType (std::string cardType)=0 |
Set the forced card type. | |
virtual std::shared_ptr< Chip > | createChip (std::string type) |
Create the chip object from card type. | |
virtual std::shared_ptr< Chip > | createChip (std::string type, const ByteVector &identifier) |
Create the chip object from card type with identifier. | |
virtual ByteVector | getNumber (std::shared_ptr< Chip > chip) |
Get the number from the embedded licensing configuration. | |
virtual std::shared_ptr< Chip > | getSingleChip ()=0 |
Get the first and/or most accurate chip found. | |
virtual std::vector< std::shared_ptr< Chip > > | getChipList ()=0 |
Get chip available in the RFID rang. | |
virtual ByteVector | getNumber (std::shared_ptr< Chip > chip, std::shared_ptr< CardsFormatComposite > composite) |
Get the number from the reader format composite. | |
virtual bool | connect ()=0 |
Connect to the card. | |
virtual bool | reconnect (int action=0) |
Reconnect to the card with the currently active share mode on the same reader. | |
virtual void | disconnect ()=0 |
Disconnect from the card. | |
virtual bool | connectToReader ()=0 |
Connect to the reader. Implicit connection on first command sent. | |
virtual void | disconnectFromReader ()=0 |
Disconnect from reader. | |
virtual std::string | getName () const =0 |
Get the reader unit name. | |
virtual std::string | getConnectedName () |
Get the connected reader unit name. | |
virtual std::shared_ptr< ReaderUnitConfiguration > | getConfiguration () |
Get the reader unit configuration. | |
virtual void | setConfiguration (std::shared_ptr< ReaderUnitConfiguration > config) |
Set the reader unit configuration. | |
virtual std::shared_ptr< ReaderCardAdapter > | getDefaultReaderCardAdapter () |
Get the default reader/card adapter. | |
virtual void | setDefaultReaderCardAdapter (std::shared_ptr< ReaderCardAdapter > defaultRca) |
Set the default reader/card adapter. | |
virtual std::shared_ptr< DataTransport > | getDataTransport () const |
Get the data transport layer. | |
virtual void | setDataTransport (std::shared_ptr< DataTransport > dataTransport) |
Set the data transport layer. | |
virtual std::string | getReaderSerialNumber ()=0 |
Get a string hexadecimal representation of the reader serial number. | |
std::string | getDefaultXmlNodeName () const override |
Get the default Xml Node name for this object. | |
void | serialize (boost::property_tree::ptree &node) override |
Serialize the current object to XML. | |
void | unSerialize (boost::property_tree::ptree &node) override |
UnSerialize a XML node to the current object. | |
void | unSerialize (boost::property_tree::ptree &node, const std::string &rootNode) override |
UnSerialize object from a Xml node. | |
std::shared_ptr< ReaderProvider > | getReaderProvider () const |
Get the associated reader provider. | |
void | setReaderProvider (std::weak_ptr< ReaderProvider > provider) |
Set the associated reader provider. | |
virtual std::shared_ptr< LCDDisplay > | getLCDDisplay () |
Get the LCD Display for this reader unit. | |
virtual void | setLCDDisplay (std::shared_ptr< LCDDisplay > d) |
Get the LCD Display for this reader unit. | |
virtual std::shared_ptr< LEDBuzzerDisplay > | getLEDBuzzerDisplay () |
Get the LED/Buzzer Display for this reader unit. | |
virtual void | setLEDBuzzerDisplay (std::shared_ptr< LEDBuzzerDisplay > lbd) |
Get the LCD Display for this reader unit. | |
virtual void | setCardTechnologies (const TechnoBitset &bitset) |
virtual TechnoBitset | getCardTechnologies () |
virtual TechnoBitset | getPossibleCardTechnologies () |
virtual ReaderServicePtr | getService (const ReaderServiceType &type) |
virtual std::string | serialize () |
Serialize object to Xml Node string. | |
virtual void | serialize (boost::property_tree::ptree &parentNode)=0 |
Serialize object to Xml Node. | |
virtual void | unSerialize (boost::property_tree::ptree &node)=0 |
UnSerialize object from a Xml Node. | |
virtual void | unSerialize (const std::string &xmlstring, const std::string &rootNode) |
UnSerialize object from a Xml Node string. | |
virtual void | unSerialize (std::istream &is, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
virtual void | unSerialize (boost::property_tree::ptree &node, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
![]() | |
virtual | ~XmlSerializable ()=default |
virtual std::string | serialize () |
Serialize object to Xml Node string. | |
virtual std::string | serializeWithHeaders () |
Serialize object to Xml Node string, with xml headers. | |
virtual void | serialize (boost::property_tree::ptree &parentNode)=0 |
Serialize object to Xml Node. | |
virtual void | serializeToFile (const std::string &filename) |
Serialize object to a Xml file. | |
virtual void | unSerialize (boost::property_tree::ptree &node)=0 |
UnSerialize object from a Xml Node. | |
virtual void | unSerialize (const std::string &xmlstring, const std::string &rootNode) |
UnSerialize object from a Xml Node string. | |
virtual void | unSerialize (std::istream &is, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
virtual void | unSerialize (boost::property_tree::ptree &node, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
virtual void | unSerializeFromFile (const std::string &filename) |
UnSerialize object from a Xml file. | |
virtual std::string | getDefaultXmlNodeName () const =0 |
Get the default Xml Node name for this object. | |
Protected Member Functions | |
std::shared_ptr< ResultChecker > | createDefaultResultChecker () const override |
std::shared_ptr< ISO7816ReaderProvider > | getISO7816ReaderProvider () const |
Get the ISO7816 reader provider. | |
std::shared_ptr< ISO7816ReaderUnitConfiguration > | getISO7816Configuration () |
Get the ISO7816 reader unit configuration. | |
bool | reconnect (int action) override |
Reconnect to the card with the currently active share mode on the same reader. | |
virtual std::shared_ptr< ResultChecker > | createDefaultResultChecker () const |
virtual std::shared_ptr< CardProbe > | createCardProbe () |
Protected Attributes | |
std::shared_ptr< SAMChip > | d_sam_chip |
The SAM chip. | |
std::shared_ptr< ISO7816ReaderUnit > | d_sam_readerunit |
The SAM ReaderUnit used SAM Authentication. | |
std::string | d_client_context |
The client context. | |
std::string | d_sam_client_context |
The sam client context. | |
![]() | |
std::string | d_readerProviderType |
The associated reader provider type for the reader unit configuration. | |
std::string | d_card_type |
The forced card type. | |
std::weak_ptr< ReaderProvider > | d_readerProvider |
The associated reader provider for the reader unit. | |
std::shared_ptr< ReaderUnitConfiguration > | d_readerUnitConfig |
The reader unit configuration. | |
std::shared_ptr< Chip > | d_insertedChip |
The inserted chip. | |
std::shared_ptr< LCDDisplay > | d_lcdDisplay |
The inserted chip. | |
std::shared_ptr< LEDBuzzerDisplay > | d_ledBuzzerDisplay |
The inserted chip. | |
Additional Inherited Members | |
![]() | |
static uint64_t | getFormatedNumber (const ByteVector &number, int padding) |
Get the number as decimal a number. | |
static std::string | getFormatedNumber (const ByteVector &number) |
Get a string hexadecimal representation of the number. | |
![]() | |
static std::string | removeXmlDeclaration (const std::string &xmlstring) |
Remove Xml declaration from a xml string. | |
static ByteVector | formatHexString (std::string hexstr) |
Format hex string to hex string with space. | |
![]() | |
static unsigned long long | atoull (const std::string &str) |
The ISO7816 reader unit class.
|
explicit |
|
virtual |
|
inlineoverridevirtual |
Connect to the card.
If the card handle was already connected, connect() first call disconnect(). If you intend to do a reconnection, call reconnect() instead.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, logicalaccess::ID3ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
overridevirtual |
Connect to the reader. Implicit connection on first command sent.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, logicalaccess::OmnikeyLANXX21ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
virtual |
|
inlineoverridevirtual |
Create a new CardProbe object that works with the current reader.
This is required because the behaviour of reader varies a lot when probing for cards.
The default implementation returns nullptr;
Reimplemented from logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ID3ReaderUnit, and logicalaccess::SpringCardReaderUnit.
|
overrideprotectedvirtual |
Create a new ResultChecker object that make sense for the current reader.
It's possible that this ResultChecker won't be used, as more fine-grained check regarding reader/card-type combination happen.
The default implementation returns nullptr.
Reimplemented from logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, logicalaccess::ACSACRReaderUnit, and logicalaccess::SpringCardReaderUnit.
|
inlineoverridevirtual |
Disconnect from the card.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ID3ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
overridevirtual |
Disconnect from reader.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, logicalaccess::OmnikeyLANXX21ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
virtual |
|
overridevirtual |
Get chip available in the RFID rang.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ID3ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
virtual |
Get the client context.
|
inlineprotected |
Get the ISO7816 reader unit configuration.
|
protected |
Get the ISO7816 reader provider.
|
inlineoverridevirtual |
Get the reader unit name.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
inlineoverridevirtual |
Get a string hexadecimal representation of the reader serial number.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
virtual |
Get The SAM Chip.
Reimplemented in logicalaccess::PCSCReaderUnit.
|
virtual |
Get The SAM ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit.
|
overridevirtual |
Get the first and/or most accurate chip found.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
inlineoverridevirtual |
Check if the card is connected.
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
overrideprotectedvirtual |
Reconnect to the card with the currently active share mode on the same reader.
Reimplemented from logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit.
|
virtual |
|
inlineoverridevirtual |
Set the forced card type.
cardType | The forced card type. |
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
virtual |
Set the client context.
context | The context. |
|
virtual |
Set the SAM Chip.
Reimplemented in logicalaccess::PCSCReaderUnit.
|
virtual |
Set the SAM ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit.
|
inlineoverridevirtual |
Wait for a card insertion.
maxwait | The maximum time to wait for, in milliseconds. If maxwait is zero, then the call never times out. |
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
inlineoverridevirtual |
Wait for a card removal.
maxwait | The maximum time to wait for, in milliseconds. If maxwait is zero, then the call never times out. |
Implements logicalaccess::ReaderUnit.
Reimplemented in logicalaccess::PCSCReaderUnit, logicalaccess::ACSACR1222LReaderUnit, logicalaccess::OmnikeyReaderUnit, logicalaccess::OmnikeyXX21ReaderUnit, and logicalaccess::STidSTRReaderUnit.
|
protected |
The client context.
|
protected |
The SAM chip.
|
protected |
The sam client context.
|
protected |
The SAM ReaderUnit used SAM Authentication.