LibLogicalAccess  2.5.0
An Open Source RFID Library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
logicalaccess::PCSCReaderProvider Class Reference

PC/SC Reader Provider class. More...

#include <pcscreaderprovider.hpp>

Inheritance diagram for logicalaccess::PCSCReaderProvider:
logicalaccess::ISO7816ReaderProvider logicalaccess::ReaderProvider

Public Member Functions

 ~PCSCReaderProvider ()
 Destructor.
 
void release () override
 Release the provider resources.
 
std::string getRPType () const override
 Get the reader provider type.
 
std::string getRPName () const override
 Get the reader provider name.
 
bool refreshReaderList () override
 List all readers of the system.
 
const ReaderListgetReaderList () override
 Get reader list for this reader provider.
 
std::shared_ptr< ReaderUnitcreateReaderUnit () override
 Create a new reader unit for the reader provider.
 
std::shared_ptr< ISO7816ReaderUnitcreateReaderUnit (std::string readerunitname) override
 Create a new reader unit for the reader provider.
 
std::vector< std::string > getReaderGroupList () const
 Get the reader group list.
 
SCARDCONTEXT getContext () const
 Get the SCard context.
 
- Public Member Functions inherited from logicalaccess::ISO7816ReaderProvider
virtual std::shared_ptr< ISO7816ReaderUnitcreateReaderUnit (std::string readerunitname)=0
 Create a new reader unit for the reader provider.
 
virtual std::shared_ptr< ReaderUnitcreateReaderUnit ()=0
 Create a new reader unit for the reader provider.
 
- Public Member Functions inherited from logicalaccess::ReaderProvider
 ReaderProvider ()
 Constructor.
 
virtual ~ReaderProvider ()
 Destructor.
 
virtual void release ()=0
 Release the provider resources.
 
virtual bool refreshReaderList ()=0
 List all readers of the system.
 
virtual const ReaderListgetReaderList ()=0
 Get reader list for this reader provider.
 
virtual const ReaderList waitForReaders (std::vector< std::string > readers, double maxwait, bool all)
 Lock until one or all ready are detected.
 
virtual std::string getRPType () const =0
 Get the reader provider type.
 
virtual std::string getRPName () const =0
 Get the reader provider name.
 
virtual std::shared_ptr< ReaderUnitcreateReaderUnit ()=0
 Create a new reader unit for the reader provider.
 

Static Public Member Functions

static std::shared_ptr< PCSCReaderProvidercreateInstance ()
 Create a new PC/SC reader provider instance.
 
- Static Public Member Functions inherited from logicalaccess::ReaderProvider
static std::shared_ptr< ReaderProvidergetReaderProviderFromRPType (std::string rpt)
 Get the reader provider object from the reader provider type.
 

Protected Member Functions

 PCSCReaderProvider ()
 Constructor.
 

Protected Attributes

ReaderList d_system_readers
 The system readers list.
 
SCARDCONTEXT d_scc
 The context.
 

Detailed Description

PC/SC Reader Provider class.

Constructor & Destructor Documentation

◆ PCSCReaderProvider()

logicalaccess::PCSCReaderProvider::PCSCReaderProvider ( )
protected

Constructor.

◆ ~PCSCReaderProvider()

logicalaccess::PCSCReaderProvider::~PCSCReaderProvider ( )

Destructor.

Member Function Documentation

◆ createInstance()

std::shared_ptr< PCSCReaderProvider > logicalaccess::PCSCReaderProvider::createInstance ( )
static

Create a new PC/SC reader provider instance.

Returns
The PC/SC reader provider instance.

◆ createReaderUnit() [1/2]

std::shared_ptr< ReaderUnit > logicalaccess::PCSCReaderProvider::createReaderUnit ( )
overridevirtual

Create a new reader unit for the reader provider.

Returns
A reader unit.

Implements logicalaccess::ReaderProvider.

◆ createReaderUnit() [2/2]

std::shared_ptr< ISO7816ReaderUnit > logicalaccess::PCSCReaderProvider::createReaderUnit ( std::string  readerunitname)
overridevirtual

Create a new reader unit for the reader provider.

Returns
A reader unit.

Implements logicalaccess::ISO7816ReaderProvider.

◆ getContext()

SCARDCONTEXT logicalaccess::PCSCReaderProvider::getContext ( ) const
inline

Get the SCard context.

Returns
The SCard context.

◆ getReaderGroupList()

std::vector< std::string > logicalaccess::PCSCReaderProvider::getReaderGroupList ( ) const

Get the reader group list.

Returns
The reader group list.

◆ getReaderList()

const ReaderList & logicalaccess::PCSCReaderProvider::getReaderList ( )
inlineoverridevirtual

Get reader list for this reader provider.

Returns
The reader list.

Implements logicalaccess::ReaderProvider.

◆ getRPName()

std::string logicalaccess::PCSCReaderProvider::getRPName ( ) const
inlineoverridevirtual

Get the reader provider name.

Returns
The reader provider name.

Implements logicalaccess::ReaderProvider.

◆ getRPType()

std::string logicalaccess::PCSCReaderProvider::getRPType ( ) const
inlineoverridevirtual

Get the reader provider type.

Returns
The reader provider type.

Implements logicalaccess::ReaderProvider.

◆ refreshReaderList()

bool logicalaccess::PCSCReaderProvider::refreshReaderList ( )
overridevirtual

List all readers of the system.

Returns
True if the list was updated, false otherwise.

Implements logicalaccess::ReaderProvider.

◆ release()

void logicalaccess::PCSCReaderProvider::release ( )
overridevirtual

Release the provider resources.

Implements logicalaccess::ReaderProvider.

Member Data Documentation

◆ d_scc

SCARDCONTEXT logicalaccess::PCSCReaderProvider::d_scc
protected

The context.

◆ d_system_readers

ReaderList logicalaccess::PCSCReaderProvider::d_system_readers
protected

The system readers list.


The documentation for this class was generated from the following files: