7#ifndef LOGICALACCESS_TCPDATATRANSPORT_HPP
8#define LOGICALACCESS_TCPDATATRANSPORT_HPP
11#include <boost/asio.hpp>
12#include <boost/asio/deadline_timer.hpp>
13#include <boost/asio/ip/tcp.hpp>
17#define TRANSPORT_TCP "TCP"
48 bool connect()
override;
55 virtual bool connect(
long int timeout);
60 void disconnect()
override;
66 bool isConnected()
override;
72 std::string getName()
const override;
78 void serialize(boost::property_tree::ptree &parentNode)
override;
84 void unSerialize(boost::property_tree::ptree &node)
override;
90 std::string getDefaultXmlNodeName()
const override;
96 std::string getIpAddress()
const;
102 void setIpAddress(std::string ipAddress);
114 void setPort(
int port);
127 ByteVector receive(
long int timeout)
override;
133 void connect_complete(
const boost::system::error_code &error);
140 void read_complete(
const boost::system::error_code &error,
size_t bytes_transferred);
146 void time_out(
const boost::system::error_code &error);
A data transport base class. It provide an abstraction layer between the host and readers.
Definition: datatransport.hpp:22
An TCP data transport class.
Definition: tcpdatatransport.hpp:23
boost::asio::ip::tcp::socket d_socket
TCP Socket.
Definition: tcpdatatransport.hpp:157
std::string d_ipAddress
The ip address.
Definition: tcpdatatransport.hpp:177
std::string getTransportType() const override
Get the transport type of this instance.
Definition: tcpdatatransport.hpp:39
boost::asio::io_service d_ios
Provides core I/O functionality.
Definition: tcpdatatransport.hpp:152
int d_port
The listening port.
Definition: tcpdatatransport.hpp:182
size_t d_bytes_transferred
Byte Readed.
Definition: tcpdatatransport.hpp:172
bool d_read_error
Read error.
Definition: tcpdatatransport.hpp:167
boost::asio::deadline_timer d_timer
Read Deadline timer.
Definition: tcpdatatransport.hpp:162
Data transport for reader/card commands.
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
#define TRANSPORT_TCP
Definition: tcpdatatransport.hpp:17