7#ifndef LOGICALACCESS_UDPDATATRANSPORT_HPP
8#define LOGICALACCESS_UDPDATATRANSPORT_HPP
11#include <boost/asio.hpp>
15#define TRANSPORT_UDP "UDP"
46 bool connect()
override;
51 void disconnect()
override;
57 bool isConnected()
override;
63 std::string getName()
const override;
69 void serialize(boost::property_tree::ptree &parentNode)
override;
75 void unSerialize(boost::property_tree::ptree &node)
override;
81 std::string getDefaultXmlNodeName()
const override;
86 std::shared_ptr<boost::asio::ip::udp::socket> getSocket()
const;
92 std::string getIpAddress()
const;
98 void setIpAddress(std::string ipAddress);
110 void setPort(
int port);
114 ByteVector receive(
long int timeout)
override;
120 std::shared_ptr<boost::asio::ip::udp::socket>
d_socket;
125 boost::asio::io_service
ios;
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
#define TRANSPORT_UDP
Definition: udpdatatransport.hpp:15