#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