LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
pcscdatatransport.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_PCSCDATATRANSPORT_HPP
8#define LOGICALACCESS_PCSCDATATRANSPORT_HPP
9
12#include <boost/asio.hpp>
13
14namespace logicalaccess
15{
16#define TRANSPORT_PCSC "PCSC"
17
21class LLA_READERS_PCSC_API PCSCDataTransport : public DataTransport
22{
23 public:
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:
105
107};
108}
109
110#endif /* LOGICALACCESS_PCSCDATATRANSPORT_HPP */
A data transport base class. It provide an abstraction layer between the host and readers.
Definition: datatransport.hpp:22
An PCSC data transport class.
Definition: pcscdatatransport.hpp:22
bool d_isConnected
Definition: pcscdatatransport.hpp:104
std::shared_ptr< PCSCReaderUnit > getPCSCReaderUnit() const
Get the PC/SC reader unit.
Definition: pcscdatatransport.hpp:64
std::string getTransportType() const override
Get the transport type of this instance.
Definition: pcscdatatransport.hpp:38
ByteVector d_response
Definition: pcscdatatransport.hpp:106
Data transport for reader/card commands.
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
#define TRANSPORT_PCSC
Definition: pcscdatatransport.hpp:16
PC/SC Reader unit.
LLA_READERS_PCSC_API void getReaderUnit(const std::string &readerName, std::shared_ptr< logicalaccess::ReaderUnit > &u)
Definition: libraryentry.cpp:25