LibLogicalAccess
2.5.0
An Open Source RFID Library
|
A serial port data transport class. More...
#include <serialportdatatransport.hpp>
Public Member Functions | |
SerialPortDataTransport (const std::string &portname="") | |
Constructor. | |
virtual | ~SerialPortDataTransport () |
Destructor. | |
std::string | getTransportType () const override |
Get the transport type of this instance. | |
void | configure () const |
Configure the current serial port. | |
void | configure (std::shared_ptr< SerialPortXml > port, bool retryConfiguring) const |
Configure the given serial port. | |
bool | connect () override |
void | disconnect () override |
bool | isConnected () override |
std::string | getName () const override |
Get the data transport endpoint name. | |
virtual void | startAutoDetect () |
Start to auto-detect the first serial port with a reader. Update serial port when found. | |
void | serialize (boost::property_tree::ptree &parentNode) override |
Serialize the current object to XML. | |
void | unSerialize (boost::property_tree::ptree &node) override |
UnSerialize a XML node to the current object. | |
std::string | getDefaultXmlNodeName () const override |
Get the default Xml Node name for this object. | |
unsigned long | getPortBaudRate () const |
Get the serial port baudrate. | |
void | setPortBaudRate (unsigned long baudRate) |
Set the serial port baudrate. | |
std::shared_ptr< SerialPortXml > | getSerialPort () const |
virtual void | setSerialPort (std::shared_ptr< SerialPortXml > port) |
void | send (const ByteVector &data) override |
ByteVector | receive (long int timeout) override |
![]() | |
virtual | ~DataTransport ()=default |
virtual std::shared_ptr< ReaderUnit > | getReaderUnit () const |
Get the reader unit. | |
virtual void | setReaderUnit (std::weak_ptr< ReaderUnit > unit) |
Set the reader unit. | |
virtual std::string | getTransportType () const =0 |
Get the transport type of this instance. | |
virtual bool | connect ()=0 |
Connect to the transport layer. | |
virtual void | disconnect ()=0 |
Disconnect from the transport layer. | |
virtual bool | isConnected ()=0 |
virtual std::string | getName () const =0 |
Get the data transport endpoint name. | |
virtual ByteVector | sendCommand (const ByteVector &command, long int timeout=-1) |
Send a command to the reader. | |
virtual ByteVector | getLastCommand () |
Get the last command. | |
virtual ByteVector | getLastResult () |
Get the last command result. | |
![]() | |
virtual | ~XmlSerializable ()=default |
virtual std::string | serialize () |
Serialize object to Xml Node string. | |
virtual std::string | serializeWithHeaders () |
Serialize object to Xml Node string, with xml headers. | |
virtual void | serialize (boost::property_tree::ptree &parentNode)=0 |
Serialize object to Xml Node. | |
virtual void | serializeToFile (const std::string &filename) |
Serialize object to a Xml file. | |
virtual void | unSerialize (boost::property_tree::ptree &node)=0 |
UnSerialize object from a Xml Node. | |
virtual void | unSerialize (const std::string &xmlstring, const std::string &rootNode) |
UnSerialize object from a Xml Node string. | |
virtual void | unSerialize (std::istream &is, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
virtual void | unSerialize (boost::property_tree::ptree &node, const std::string &rootNode) |
UnSerialize object from a Xml node. | |
virtual void | unSerializeFromFile (const std::string &filename) |
UnSerialize object from a Xml file. | |
virtual std::string | getDefaultXmlNodeName () const =0 |
Get the default Xml Node name for this object. | |
Protected Attributes | |
bool | d_isAutoDetected |
The auto-detected status. | |
std::shared_ptr< SerialPortXml > | d_port |
The serial port. | |
unsigned long | d_portBaudRate |
The baudrate to use when configuring the serial port. | |
![]() | |
std::weak_ptr< ReaderUnit > | d_ReaderUnit |
The reader unit. | |
ByteVector | d_lastResult |
The last result. | |
ByteVector | d_lastCommand |
The last command. | |
Additional Inherited Members | |
![]() | |
static std::string | removeXmlDeclaration (const std::string &xmlstring) |
Remove Xml declaration from a xml string. | |
static ByteVector | formatHexString (std::string hexstr) |
Format hex string to hex string with space. | |
virtual void | send (const ByteVector &data)=0 |
virtual ByteVector | receive (long int timeout)=0 |
![]() | |
static unsigned long long | atoull (const std::string &str) |
A serial port data transport class.
|
explicit |
Constructor.
portname | The serial port name. |
|
virtual |
Destructor.
void logicalaccess::SerialPortDataTransport::configure | ( | ) | const |
Configure the current serial port.
void logicalaccess::SerialPortDataTransport::configure | ( | std::shared_ptr< SerialPortXml > | port, |
bool | retryConfiguring | ||
) | const |
Configure the given serial port.
port | The COM port to configure. |
retryConfiguring | On error, the function wait some milliseconds and retry another time to configure the serial port. |
|
overridevirtual |
Connect | to the transport layer. |
Implements logicalaccess::DataTransport.
|
overridevirtual |
Disconnect | from the transport layer. |
Implements logicalaccess::DataTransport.
|
overridevirtual |
Get the default Xml Node name for this object.
Implements logicalaccess::XmlSerializable.
Reimplemented in logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::OSDPSerialPortDataTransport, and logicalaccess::STidSTRSerialPortDataTransport.
|
overridevirtual |
Get the data transport endpoint name.
Implements logicalaccess::DataTransport.
|
inline |
Get the serial port baudrate.
|
inline |
|
inlineoverridevirtual |
Get the transport type of this instance.
Implements logicalaccess::DataTransport.
Reimplemented in logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::OSDPSerialPortDataTransport, and logicalaccess::STidSTRSerialPortDataTransport.
|
overridevirtual |
\briaf Get if connected to the transport layer.
Implements logicalaccess::DataTransport.
|
overridevirtual |
Implements logicalaccess::DataTransport.
|
overridevirtual |
Implements logicalaccess::DataTransport.
|
overridevirtual |
Serialize the current object to XML.
parentNode | The parent node. |
Implements logicalaccess::XmlSerializable.
Reimplemented in logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::OSDPSerialPortDataTransport, and logicalaccess::STidSTRSerialPortDataTransport.
|
inline |
Set the serial port baudrate.
baudRate | The Baudrate (9600, 19200, 38400, 57600, 115200). |
|
inlinevirtual |
|
virtual |
Start to auto-detect the first serial port with a reader. Update serial port when found.
|
overridevirtual |
UnSerialize a XML node to the current object.
node | The XML node. |
Implements logicalaccess::XmlSerializable.
Reimplemented in logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::OSDPSerialPortDataTransport, and logicalaccess::STidSTRSerialPortDataTransport.
|
protected |
The auto-detected status.
|
protected |
The serial port.
|
protected |
The baudrate to use when configuring the serial port.