LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
udpdatatransport.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_UDPDATATRANSPORT_HPP
8#define LOGICALACCESS_UDPDATATRANSPORT_HPP
9
11#include <boost/asio.hpp>
12
13namespace logicalaccess
14{
15#define TRANSPORT_UDP "UDP"
16
20class LLA_CORE_API UDPDataTransport : public DataTransport
21{
22 public:
27
31 virtual ~UDPDataTransport();
32
37 std::string getTransportType() const override
38 {
39 return TRANSPORT_UDP;
40 }
41
46 bool connect() override;
47
51 void disconnect() override;
52
57 bool isConnected() override;
58
63 std::string getName() const override;
64
69 void serialize(boost::property_tree::ptree &parentNode) override;
70
75 void unSerialize(boost::property_tree::ptree &node) override;
76
81 std::string getDefaultXmlNodeName() const override;
82
86 std::shared_ptr<boost::asio::ip::udp::socket> getSocket() const;
87
92 std::string getIpAddress() const;
93
98 void setIpAddress(std::string ipAddress);
99
104 int getPort() const;
105
110 void setPort(int port);
111
112 void send(const ByteVector &data) override;
113
114 ByteVector receive(long int timeout) override;
115
116 protected:
120 std::shared_ptr<boost::asio::ip::udp::socket> d_socket;
121
125 boost::asio::io_service ios;
126
130 std::string d_ipAddress;
131
136};
137}
138
139#endif /* LOGICALACCESS_UDPDATATRANSPORT_HPP */
A data transport base class. It provide an abstraction layer between the host and readers.
Definition: datatransport.hpp:22
An UDP data transport class.
Definition: udpdatatransport.hpp:21
std::string getTransportType() const override
Get the transport type of this instance.
Definition: udpdatatransport.hpp:37
boost::asio::io_service ios
Provides core I/O functionality.
Definition: udpdatatransport.hpp:125
int d_port
The listening port.
Definition: udpdatatransport.hpp:135
std::shared_ptr< boost::asio::ip::udp::socket > d_socket
Client socket use to communicate with the reader.
Definition: udpdatatransport.hpp:120
std::string d_ipAddress
The ip address.
Definition: udpdatatransport.hpp:130
Data transport for reader/card commands.
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
#define TRANSPORT_UDP
Definition: udpdatatransport.hpp:15