ManagerInterface Class Reference

Abstraction of system smarcard managers. More...

#include <ManagerInterface.h>

Inheritance diagram for ManagerInterface:

Inheritance graph
[legend]
List of all members.

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 ConnectionBaseconnect (uint index, bool forceT0=false)=0
 connects instance of card to reader at index, forceT0 is used for cards that cant speak T1
virtual ConnectionBasereconnect (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

Detailed Description

Abstraction of system smarcard managers.

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


The documentation for this class was generated from the following file:
Generated on Fri Oct 31 12:29:39 2008 for Cardlib reference by  doxygen 1.5.1