LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
serialportdatatransport.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_SERIALPORTDATATRANSPORT_HPP
8#define LOGICALACCESS_SERIALPORTDATATRANSPORT_HPP
9
12
13namespace logicalaccess
14{
15#define TRANSPORT_SERIALPORT "SerialPort"
16
20class LLA_CORE_API SerialPortDataTransport : public DataTransport
21{
22 public:
27 explicit SerialPortDataTransport(const std::string &portname = "");
28
33
38 std::string getTransportType() const override
39 {
41 }
42
46 void configure() const;
47
54 void configure(std::shared_ptr<SerialPortXml> port, bool retryConfiguring) const;
55
60 bool connect() override;
61
65 void disconnect() override;
66
71 bool isConnected() override;
72
77 std::string getName() const override;
78
83 virtual void startAutoDetect();
84
89 void serialize(boost::property_tree::ptree &parentNode) override;
90
95 void unSerialize(boost::property_tree::ptree &node) override;
96
101 std::string getDefaultXmlNodeName() const override;
102
107 unsigned long getPortBaudRate() const
108 {
109 return d_portBaudRate;
110 }
111
116 void setPortBaudRate(unsigned long baudRate)
117 {
118 d_portBaudRate = baudRate;
119 }
120
121 std::shared_ptr<SerialPortXml> getSerialPort() const
122 {
123 return d_port;
124 }
125
126 virtual void setSerialPort(std::shared_ptr<SerialPortXml> port)
127 {
128 d_port = port;
129 }
130
131 void send(const ByteVector &data) override;
132
133 ByteVector receive(long int timeout) override;
134
135 protected:
140
144 std::shared_ptr<SerialPortXml> d_port;
145
149 unsigned long d_portBaudRate;
150};
151}
152
153#endif /* LOGICALACCESS_SERIALPORTDATATRANSPORT_HPP */
A data transport base class. It provide an abstraction layer between the host and readers.
Definition: datatransport.hpp:22
A serial port data transport class.
Definition: serialportdatatransport.hpp:21
unsigned long getPortBaudRate() const
Get the serial port baudrate.
Definition: serialportdatatransport.hpp:107
bool d_isAutoDetected
The auto-detected status.
Definition: serialportdatatransport.hpp:139
void setPortBaudRate(unsigned long baudRate)
Set the serial port baudrate.
Definition: serialportdatatransport.hpp:116
std::shared_ptr< SerialPortXml > getSerialPort() const
Definition: serialportdatatransport.hpp:121
std::string getTransportType() const override
Get the transport type of this instance.
Definition: serialportdatatransport.hpp:38
virtual void setSerialPort(std::shared_ptr< SerialPortXml > port)
Definition: serialportdatatransport.hpp:126
unsigned long d_portBaudRate
The baudrate to use when configuring the serial port.
Definition: serialportdatatransport.hpp:149
std::shared_ptr< SerialPortXml > d_port
The serial port.
Definition: serialportdatatransport.hpp:144
Data transport for reader/card commands.
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
#define TRANSPORT_SERIALPORT
Definition: serialportdatatransport.hpp:15
A serial port class.