|
LibLogicalAccess
2.5.0
An Open Source RFID Library
|
The SpringCard reader unit class. More...
#include <springcardreaderunit.hpp>
Public Member Functions | |
| SpringCardReaderUnit (const std::string &name) | |
| Constructor. | |
| virtual | ~SpringCardReaderUnit () |
| Destructor. | |
| PCSCReaderUnitType | getPCSCType () const override |
| Get the PC/SC reader unit type. | |
Public Member Functions inherited from logicalaccess::PCSCReaderUnit | |
| PCSCReaderUnit (const std::string &name) | |
| Constructor. | |
| virtual | ~PCSCReaderUnit () |
| Destructor. | |
| std::string | getName () const override |
| Get the reader unit name. | |
| void | setName (const std::string &name) |
| Set the reader unit name. | |
| std::string | getConnectedName () override |
| Get the connected reader unit name. | |
| virtual PCSCReaderUnitType | getPCSCType () const |
| Get the PC/SC reader unit type. | |
| void | setCardType (std::string cardType) override |
| Set the card type. | |
| bool | waitInsertion (unsigned int maxwait) override |
| Wait for a card insertion. | |
| bool | waitRemoval (unsigned int maxwait) override |
| Wait for a card removal. | |
| bool | connect () override |
| Connect to the card. | |
| virtual bool | connect (PCSCShareMode share_mode) |
| Connect to the card. | |
| void | disconnect () override |
| Disconnect from the card. | |
| bool | isConnected () override |
| Check if the handle is associated to a card (aka. "connected"). | |
| bool | connectToReader () override |
| Connect to the reader. Implicit connection on first command sent. | |
| void | disconnectFromReader () override |
| Disconnect from reader. | |
| const SCARDHANDLE & | getHandle () const |
| Get the low-level SCARDHANDLE. | |
| unsigned long | getActiveProtocol () const |
| Get the active protocol for the connected card. | |
| PCSCShareMode | getShareMode () const |
| Get the currently active share mode. | |
| std::shared_ptr< Chip > | createChip (std::string type) override |
| Create the chip object from 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. | |
| virtual ByteVector | getCardSerialNumber () |
| Get the card serial number. | |
| std::string | getReaderSerialNumber () override |
| Get a string hexadecimal representation of the reader serial number. | |
| const ByteVector & | getATR () const |
| Get the card ATR. | |
| virtual std::shared_ptr< PCSCReaderCardAdapter > | getDefaultPCSCReaderCardAdapter () |
| Get the default PC/SC reader/card adapter. | |
| virtual std::shared_ptr< ReaderCardAdapter > | getReaderCardAdapter (std::string type) |
| Get the PC/SC reader/card adapter for a card type. | |
| void | serialize (boost::property_tree::ptree &parentNode) override |
| Serialize the current object to XML. | |
| void | unSerialize (boost::property_tree::ptree &node) override |
| UnSerialize a XML node to the current object. | |
| std::shared_ptr< ReaderUnitConfiguration > | getConfiguration () override |
| Get the reader unit configuration. | |
| void | setConfiguration (std::shared_ptr< ReaderUnitConfiguration > config) override |
| Set the reader unit configuration. | |
| virtual void | changeReaderKey (std::shared_ptr< ReaderMemoryKeyStorage > keystorage, const ByteVector &key) |
| Change a key in reader memory. | |
| std::shared_ptr< PCSCReaderUnitConfiguration > | getPCSCConfiguration () |
| Get the PC/SC reader unit configuration. | |
| std::shared_ptr< PCSCReaderProvider > | getPCSCReaderProvider () const |
| void | makeProxy (std::shared_ptr< PCSCReaderUnit > readerUnit, std::shared_ptr< PCSCReaderUnitConfiguration > readerUnitConfig) |
| Make the reader unit as a proxy to another. Use when listening on all PC/SC reader unit. | |
| virtual void | getT_CL_ISOType (bool &isTypeA, bool &isTypeB) |
| Get if the inserted card is from ISO 14443-4 A or B. | |
| virtual void | cardConnected () |
| std::shared_ptr< PCSCReaderUnit > | getProxyReaderUnit () const |
| void | setCardTechnologies (const TechnoBitset &bitset) override |
| TechnoBitset | getCardTechnologies () override |
| std::shared_ptr< LCDDisplay > | getLCDDisplay () override |
| Get the LCD Display for this reader unit. | |
| void | setLCDDisplay (std::shared_ptr< LCDDisplay > d) override |
| Get the LCD Display for this reader unit. | |
| std::shared_ptr< LEDBuzzerDisplay > | getLEDBuzzerDisplay () override |
| Get the LED/Buzzer Display for this reader unit. | |
| void | setLEDBuzzerDisplay (std::shared_ptr< LEDBuzzerDisplay > lbd) override |
| Get the LCD Display for this reader unit. | |
| ReaderServicePtr | getService (const ReaderServiceType &type) override |
| void | beginTransaction () |
| void | endTransaction (DWORD dwDisposition=SCARD_LEAVE_CARD) |
| void | reset (int action=0) |
| Reconnect to the card. | |
| void | setup_pcsc_connection (PCSCShareMode share_mode) |
| void | teardown_pcsc_connection () |
Public Member Functions inherited from logicalaccess::ISO7816ReaderUnit | |
| 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< CardProbe > | createCardProbe () override |
| std::shared_ptr< ResultChecker > | createDefaultResultChecker () const override |
Protected Member Functions inherited from logicalaccess::PCSCReaderUnit | |
| bool | reconnect (int action=0) override |
| Reconnect to the card with the currently active share mode on the same reader. | |
| std::shared_ptr< Chip > | adjustChip (std::shared_ptr< Chip > c) |
| std::shared_ptr< ResultChecker > | createDefaultResultChecker () const override |
| std::shared_ptr< CardProbe > | createCardProbe () override |
| void | configure_mifareplus_chip (std::shared_ptr< Chip > c, std::shared_ptr< Commands > &commands, std::shared_ptr< ResultChecker > &resultChecker) const |
| void | detect_mifareplus_security_level (std::shared_ptr< Chip > c) |
| void | setSingleChip (std::shared_ptr< Chip > chip) |
| Set the first and/or most accurate chip found. | |
| std::shared_ptr< SAMChip > | getSAMChip () override |
| Get The SAM Chip. | |
| void | setSAMChip (std::shared_ptr< SAMChip > t) override |
| Set the SAM Chip. | |
| std::shared_ptr< ISO7816ReaderUnit > | getSAMReaderUnit () override |
| Get The SAM ReaderUnit. | |
| void | setSAMReaderUnit (std::shared_ptr< ISO7816ReaderUnit > t) override |
| Set the SAM ReaderUnit. | |
| std::tuple< SPtrStringVector, ReaderStateVector > | prepare_poll_parameters () |
| void | waitInsertion_create_proxy (const std::string &reader_name) |
| virtual bool | process_insertion (const std::string &cardType, unsigned int maxwait, const ElapsedTimeCounter &elapsed) |
Protected Member Functions inherited from logicalaccess::ISO7816ReaderUnit | |
| 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 () |
Additional Inherited Members | |
Static Public Member Functions inherited from logicalaccess::PCSCReaderUnit | |
| static std::shared_ptr< PCSCReaderUnit > | createPCSCReaderUnit (const std::string &readerName) |
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. | |
Protected Types inherited from logicalaccess::PCSCReaderUnit | |
| using | SPtrStringVector = std::vector< std::shared_ptr< std::string > > |
| using | ReaderStateVector = std::vector< SCARD_READERSTATE > |
Static Protected Member Functions inherited from logicalaccess::XmlSerializable | |
| static unsigned long long | atoull (const std::string &str) |
Protected Attributes inherited from logicalaccess::PCSCReaderUnit | |
| std::string | d_name |
| The reader unit name. | |
| std::string | d_connectedName |
| The reader unit connected name. | |
| std::unique_ptr< PCSCConnection > | connection_ |
| ByteVector | atr_ |
| std::shared_ptr< PCSCReaderUnit > | d_proxyReaderUnit |
| The proxy reader unit. | |
Protected Attributes inherited from logicalaccess::ISO7816ReaderUnit | |
| 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. | |
The SpringCard reader unit class.
|
explicit |
Constructor.
|
virtual |
Destructor.
|
overrideprotectedvirtual |
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::PCSCReaderUnit.
|
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::PCSCReaderUnit.
|
overridevirtual |
Get the PC/SC reader unit type.
Reimplemented from logicalaccess::PCSCReaderUnit.
1.9.6