LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
pcscreaderunitconfiguration.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_PCSCREADERUNITCONFIGURATION_HPP
8#define LOGICALACCESS_PCSCREADERUNITCONFIGURATION_HPP
9
12
13#define DEVICE_TYPE_SMARTCARD
15#if defined(__linux__)
16#include <pcsclite.h>
17#endif
18
19#include <logicalaccess/plugins/readers/pcsc/lla_readers_pcsc_api.hpp>
20#include <string.h>
21
22#ifdef UNICODE
23#undef UNICODE
24#include <winscard.h>
25#define UNICODE
26#else
27#include <winscard.h>
28#endif
29
30namespace logicalaccess
31{
35typedef enum {
36 SC_SHARED = 2, // SCARD_SHARE_SHARED
37 SC_SHARED_EXCLUSIVE = 1, // SCARD_SHARE_EXCLUSIVE
38 SC_DIRECT = 3 // SCARD_SHARE_DIRECT
40
44std::string LLA_READERS_PCSC_API pcsc_share_mode_to_string(PCSCShareMode sm);
45
49std::string LLA_READERS_PCSC_API pcsc_protocol_to_string(unsigned long proto);
50
54typedef enum {
58 PCSC_RUT_SCM = 0x0003,
59 PCSC_RUT_CHERRY = 0x0004,
69
73class LLA_READERS_PCSC_API PCSCReaderUnitConfiguration
75{
76 public:
81
86
90 void resetConfiguration() override;
91
96 void serialize(boost::property_tree::ptree &parentNode) override;
97
102 void unSerialize(boost::property_tree::ptree &node) override;
103
108 std::string getDefaultXmlNodeName() const override;
109
114 unsigned int getTransmissionProtocol() const;
115
120 void setTransmissionProtocol(unsigned int protocol);
121
126 PCSCShareMode getShareMode() const;
127
132 void setShareMode(PCSCShareMode share_mode);
133
138 virtual PCSCReaderUnitType getPCSCType() const;
139
140 protected:
144 unsigned int d_protocol;
145
150};
151}
152
153#endif
The PC/SC reader unit configuration base class.
Definition: iso7816readerunitconfiguration.hpp:24
The PC/SC reader unit configuration base class.
Definition: pcscreaderunitconfiguration.hpp:75
PCSCShareMode d_share_mode
The share mode used when connecting to a card.
Definition: pcscreaderunitconfiguration.hpp:149
unsigned int d_protocol
The transmission protocol.
Definition: pcscreaderunitconfiguration.hpp:144
Definition: asn1.hpp:9
std::string pcsc_share_mode_to_string(PCSCShareMode sm)
Definition: pcscreaderunitconfiguration.cpp:80
PCSCReaderUnitType
The reader unit types.
Definition: pcscreaderunitconfiguration.hpp:54
@ PCSC_RUT_ACS_ACR
Definition: pcscreaderunitconfiguration.hpp:63
@ PCSC_RUT_DEFAULT
Definition: pcscreaderunitconfiguration.hpp:55
@ PCSC_RUT_ID3_CL1356
Definition: pcscreaderunitconfiguration.hpp:65
@ PCSC_RUT_OMNIKEY_LAN_XX21
Definition: pcscreaderunitconfiguration.hpp:62
@ PCSC_RUT_CHERRY
Definition: pcscreaderunitconfiguration.hpp:59
@ PCSC_RUT_OMNIKEY_XX22
Definition: pcscreaderunitconfiguration.hpp:66
@ PCSC_RUT_ACS_ACR_1222L
Definition: pcscreaderunitconfiguration.hpp:64
@ PCSC_RUT_OMNIKEY_XX27
Definition: pcscreaderunitconfiguration.hpp:61
@ PCSC_RUT_SPRINGCARD
Definition: pcscreaderunitconfiguration.hpp:60
@ PCSC_RUT_OMNIKEY_XX25
Definition: pcscreaderunitconfiguration.hpp:57
@ PCSC_RUT_OMNIKEY_XX23
Definition: pcscreaderunitconfiguration.hpp:67
@ PCSC_RUT_OMNIKEY_XX21
Definition: pcscreaderunitconfiguration.hpp:56
@ PCSC_RUT_SCM
Definition: pcscreaderunitconfiguration.hpp:58
std::string pcsc_protocol_to_string(unsigned long proto)
Definition: pcscreaderunitconfiguration.cpp:91
PCSCShareMode
Share mode enumeration.
Definition: pcscreaderunitconfiguration.hpp:35
@ SC_SHARED_EXCLUSIVE
Definition: pcscreaderunitconfiguration.hpp:37
@ SC_DIRECT
Definition: pcscreaderunitconfiguration.hpp:38
@ SC_SHARED
Definition: pcscreaderunitconfiguration.hpp:36
Reader unit configuration.