#include <ManagerInterface.h>
Inheritance diagram for ManagerInterface:

Public Member Functions | |
| virtual uint | getReaderCount ()=0 |
| number of installed readers | |
| virtual std::string | getReaderName (uint index)=0 |
| name of the reader at index | |
| virtual std::string | getReaderState (uint index)=0 |
| string form of reader status at index, EMPTY, POWERED etc | |
| virtual std::string | getATRHex (uint index)=0 |
| hex representation of card ATR in reader at index, empty string if no card is present | |
| virtual ConnectionBase * | connect (uint index, bool forceT0=false)=0 |
| connects instance of card to reader at index, forceT0 is used for cards that cant speak T1 | |
| virtual ConnectionBase * | reconnect (ConnectionBase *c, bool forceT0=false) |
| reconnect using a different protocol | |
| void | setLogging (std::ostream *logStream) |
| use given stream as APDU log | |
Protected Member Functions | |
| virtual void | makeConnection (ConnectionBase *c, uint idx)=0 |
| virtual void | deleteConnection (ConnectionBase *c)=0 |
| virtual void | beginTransaction (ConnectionBase *c)=0 |
| virtual void | endTransaction (ConnectionBase *c, bool forceReset=false)=0 |
| virtual void | execCommand (ConnectionBase *c, std::vector< byte > &cmd, std::vector< byte > &recv, unsigned int &recvLen)=0 |
| virtual void | execPinEntryCommand (ConnectionBase *c, std::vector< byte > &cmd) |
| virtual void | execPinChangeCommand (ConnectionBase *c, std::vector< byte > &cmd, size_t oldPinLen, size_t newPinLen) |
| virtual bool | isT1Protocol (ConnectionBase *c)=0 |
| tell if given connection is using T1 (true) or T0 | |
Protected Attributes | |
| std::ostream * | mLogger |
Friends | |
| struct | ConnectionBase |
| struct | Transaction |
| class | CardBase |
| class | SmartCardManager |
| struct | SmartCardConnection |
ManagerInterface is abstraction of system smartcard managers. Concrete managers are PCSCManager and CTAPIManager. Example additional derivations might be direct communications driver or even serial/USB port
1.5.1