|
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. | |
Public Member Functions inherited from logicalaccess::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. | |
Public Member Functions inherited from logicalaccess::XmlSerializable | |
| 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. | |
Protected Attributes inherited from logicalaccess::ReaderUnit | |
| 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 Public Member Functions inherited from logicalaccess::ReaderUnit | |
| 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 Public Member Functions inherited from logicalaccess::XmlSerializable | |
| 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 Protected Member Functions inherited from logicalaccess::XmlSerializable | |
| 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.
1.9.6