LibLogicalAccess
2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
plugins
logicalaccess
plugins
readers
libusb
libusbdatatransport.hpp
Go to the documentation of this file.
1
7
#ifndef LOGICALACCESS_LIBUSBDATATRANSPORT_HPP
8
#define LOGICALACCESS_LIBUSBDATATRANSPORT_HPP
9
10
#include <
logicalaccess/readerproviders/datatransport.hpp
>
11
#include <
logicalaccess/plugins/readers/libusb/libusbreaderunit.hpp
>
12
#include <list>
13
14
namespace
logicalaccess
15
{
16
#define TRANSPORT_LIBUSB "LibUSB"
17
18
#define REPORT_TYPE_FEATURE 0x03
19
#define FEATURE_RPT_SIZE 8
20
24
class
LLA_READERS_LIBUSB_API
LibUSBDataTransport
:
public
DataTransport
25
{
26
public
:
30
LibUSBDataTransport
();
31
35
virtual
~LibUSBDataTransport
();
36
41
std::string
getTransportType
()
const override
42
{
43
return
TRANSPORT_LIBUSB
;
44
}
45
50
std::string getDefaultXmlNodeName()
const override
;
51
56
void
serialize(boost::property_tree::ptree &parentNode)
override
;
57
62
void
unSerialize(boost::property_tree::ptree &node)
override
;
63
68
bool
connect()
override
;
69
73
void
disconnect()
override
;
74
79
bool
isConnected()
override
;
80
85
std::shared_ptr<LibUSBReaderUnit>
getLibUSBReaderUnit
()
const
86
{
87
return
std::dynamic_pointer_cast<LibUSBReaderUnit>(
getReaderUnit
());
88
}
89
94
std::string getName()
const override
;
95
100
virtual
void
send(
const
std::vector<unsigned char> &data)
override
;
101
107
virtual
std::vector<unsigned char> receive(
long
int
timeout = 5000)
override
;
108
115
std::vector<unsigned char> sendCommand(
const
std::vector<unsigned char> &command,
116
long
int
timeout = 2000)
override
;
117
118
void
usb_write(
const
std::vector<unsigned char> &data,
int
report_type,
int
report_number);
119
120
std::vector<unsigned char> usb_read(
int
report_type,
int
report_number,
int
readlen,
int
timeout = 1000);
121
122
void
CheckLibUSBError(
int
errorFlag);
123
124
protected
:
125
bool
d_isConnected
;
126
};
127
}
128
129
#endif
/* LOGICALACCESS_LIBUSBDATATRANSPORT_HPP */
logicalaccess::DataTransport
A data transport base class. It provide an abstraction layer between the host and readers.
Definition:
datatransport.hpp:22
logicalaccess::LibUSBDataTransport
An LibUSB data transport class.
Definition:
libusbdatatransport.hpp:25
logicalaccess::LibUSBDataTransport::getLibUSBReaderUnit
std::shared_ptr< LibUSBReaderUnit > getLibUSBReaderUnit() const
Get the LibUSB reader unit.
Definition:
libusbdatatransport.hpp:85
logicalaccess::LibUSBDataTransport::d_isConnected
bool d_isConnected
Definition:
libusbdatatransport.hpp:125
logicalaccess::LibUSBDataTransport::getTransportType
std::string getTransportType() const override
Get the transport type of this instance.
Definition:
libusbdatatransport.hpp:41
datatransport.hpp
Data transport for reader/card commands.
TRANSPORT_LIBUSB
#define TRANSPORT_LIBUSB
Definition:
libusbdatatransport.hpp:16
libusbreaderunit.hpp
LibUSB Reader unit.
logicalaccess
Definition:
asn1.hpp:9
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