LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
pcscreaderprovider.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_READERPCSC_PROVIDER_HPP
8#define LOGICALACCESS_READERPCSC_PROVIDER_HPP
9
12
13#include <string>
14#include <vector>
15
17
18namespace logicalaccess
19{
20#define READER_PCSC "PCSC"
21
25class LLA_READERS_PCSC_API PCSCReaderProvider : public ISO7816ReaderProvider
26{
27 protected:
32
33 public:
38
42 void release() override;
43
48 static std::shared_ptr<PCSCReaderProvider> createInstance();
49
54 std::string getRPType() const override
55 {
56 return READER_PCSC;
57 }
58
63 std::string getRPName() const override
64 {
65 return "PC/SC";
66 }
67
72 bool refreshReaderList() override;
73
78 const ReaderList &getReaderList() override
79 {
80 return d_system_readers;
81 }
82
87 std::shared_ptr<ReaderUnit> createReaderUnit() override;
88
93 std::shared_ptr<ISO7816ReaderUnit>
94 createReaderUnit(std::string readerunitname) override;
95
100 std::vector<std::string> getReaderGroupList() const;
101
106 SCARDCONTEXT getContext() const
107 {
108 return d_scc;
109 }
110
111 protected:
112#ifdef _MSC_VER
113#pragma warning(push)
114#pragma warning(disable : 4251)
115#endif
116
121
122#ifdef _MSC_VER
123#pragma warning(pop)
124#endif
125
129 SCARDCONTEXT d_scc;
130};
131}
132
133#endif /* LOGICALACCESS_READERPCSC_PROVIDER_HPP */
ISO7816 Reader Provider base class.
Definition: iso7816readerprovider.hpp:24
PC/SC Reader Provider class.
Definition: pcscreaderprovider.hpp:26
ReaderList d_system_readers
The system readers list.
Definition: pcscreaderprovider.hpp:120
std::string getRPName() const override
Get the reader provider name.
Definition: pcscreaderprovider.hpp:63
SCARDCONTEXT getContext() const
Get the SCard context.
Definition: pcscreaderprovider.hpp:106
std::string getRPType() const override
Get the reader provider type.
Definition: pcscreaderprovider.hpp:54
const ReaderList & getReaderList() override
Get reader list for this reader provider.
Definition: pcscreaderprovider.hpp:78
SCARDCONTEXT d_scc
The context.
Definition: pcscreaderprovider.hpp:129
ISO7816 card reader provider.
Logging header.
Definition: asn1.hpp:9
std::vector< std::shared_ptr< ReaderUnit > > ReaderList
A reader unit list.
Definition: readerprovider.hpp:18
#define READER_PCSC
Definition: pcscreaderprovider.hpp:20
PC/SC Reader unit.