LibLogicalAccess
2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
plugins
logicalaccess
plugins
readers
pcsc
pcscdatatransport.hpp
Go to the documentation of this file.
1
7
#ifndef LOGICALACCESS_PCSCDATATRANSPORT_HPP
8
#define LOGICALACCESS_PCSCDATATRANSPORT_HPP
9
10
#include <
logicalaccess/readerproviders/datatransport.hpp
>
11
#include <
logicalaccess/plugins/readers/pcsc/pcscreaderunit.hpp
>
12
#include <boost/asio.hpp>
13
14
namespace
logicalaccess
15
{
16
#define TRANSPORT_PCSC "PCSC"
17
21
class
LLA_READERS_PCSC_API
PCSCDataTransport
:
public
DataTransport
22
{
23
public
:
27
PCSCDataTransport
();
28
32
virtual
~PCSCDataTransport
();
33
38
std::string
getTransportType
()
const override
39
{
40
return
TRANSPORT_PCSC
;
41
}
42
47
bool
connect()
override
;
48
52
void
disconnect()
override
;
53
58
bool
isConnected()
override
;
59
64
std::shared_ptr<PCSCReaderUnit>
getPCSCReaderUnit
()
const
65
{
66
return
std::dynamic_pointer_cast<PCSCReaderUnit>(
getReaderUnit
());
67
}
68
73
std::string getName()
const override
;
74
79
void
serialize(boost::property_tree::ptree &parentNode)
override
;
80
85
void
unSerialize(boost::property_tree::ptree &node)
override
;
86
91
std::string getDefaultXmlNodeName()
const override
;
92
97
static
void
CheckCardError(
unsigned
int
errorFlag);
98
99
void
send(
const
ByteVector
&data)
override
;
100
101
ByteVector
receive(
long
int
timeout)
override
;
102
103
protected
:
104
bool
d_isConnected
;
105
106
ByteVector
d_response
;
107
};
108
}
109
110
#endif
/* LOGICALACCESS_PCSCDATATRANSPORT_HPP */
logicalaccess::DataTransport
A data transport base class. It provide an abstraction layer between the host and readers.
Definition:
datatransport.hpp:22
logicalaccess::PCSCDataTransport
An PCSC data transport class.
Definition:
pcscdatatransport.hpp:22
logicalaccess::PCSCDataTransport::d_isConnected
bool d_isConnected
Definition:
pcscdatatransport.hpp:104
logicalaccess::PCSCDataTransport::getPCSCReaderUnit
std::shared_ptr< PCSCReaderUnit > getPCSCReaderUnit() const
Get the PC/SC reader unit.
Definition:
pcscdatatransport.hpp:64
logicalaccess::PCSCDataTransport::getTransportType
std::string getTransportType() const override
Get the transport type of this instance.
Definition:
pcscdatatransport.hpp:38
logicalaccess::PCSCDataTransport::d_response
ByteVector d_response
Definition:
pcscdatatransport.hpp:106
datatransport.hpp
Data transport for reader/card commands.
ByteVector
std::vector< uint8_t > ByteVector
Definition:
lla_fwd.hpp:80
logicalaccess
Definition:
asn1.hpp:9
TRANSPORT_PCSC
#define TRANSPORT_PCSC
Definition:
pcscdatatransport.hpp:16
pcscreaderunit.hpp
PC/SC Reader unit.
getReaderUnit
LLA_READERS_PCSC_API void getReaderUnit(const std::string &readerName, std::shared_ptr< logicalaccess::ReaderUnit > &u)
Definition:
libraryentry.cpp:25
Generated on Wed Mar 29 2023 13:50:38 for LibLogicalAccess by
1.9.6