LibLogicalAccess
2.5.0
An Open Source RFID Library
|
A data field base class. More...
#include <datafield.hpp>
Public Member Functions | |
DataField () | |
Constructor. | |
virtual | ~DataField () |
Destructor. | |
virtual unsigned int | getDataLength () const |
Get data length in bits. | |
virtual void | setPosition (unsigned int position) |
Set the field position in bits. | |
unsigned int | getPosition () const |
Get the field position in bits. | |
virtual DataFieldType | getDFType () const =0 |
Get the field type. | |
void | setName (const std::string &name) |
Set the field name. | |
std::string | getName () const |
Get the field name. | |
virtual BitsetStream | getLinearData (const BitsetStream &data) const =0 |
Get linear data. | |
virtual void | setLinearData (const ByteVector &data)=0 |
Set linear data. | |
virtual bool | checkSkeleton (std::shared_ptr< DataField > field) const =0 |
Check the current field skeleton with another field. | |
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. | |
![]() | |
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 | |
std::string | d_name |
The field name. | |
unsigned int | d_length |
The field length in bits. | |
unsigned int | d_position |
The field position in bits. | |
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. | |
![]() | |
static unsigned long long | atoull (const std::string &str) |
A data field base class.
logicalaccess::DataField::DataField | ( | ) |
Constructor.
|
virtual |
Destructor.
|
pure virtual |
Check the current field skeleton with another field.
field | The field to check. |
Implemented in logicalaccess::BinaryDataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, and logicalaccess::TLVDataField.
|
virtual |
Get data length in bits.
|
pure virtual |
Get the field type.
Implemented in logicalaccess::BinaryDataField, logicalaccess::ChecksumDataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, and logicalaccess::ValueDataField.
|
pure virtual |
Get linear data.
Implemented in logicalaccess::BinaryDataField, logicalaccess::ChecksumDataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, and logicalaccess::TLVDataField.
std::string logicalaccess::DataField::getName | ( | ) | const |
Get the field name.
unsigned int logicalaccess::DataField::getPosition | ( | ) | const |
Get the field position in bits.
|
overridevirtual |
Serialize the current object to XML.
parentNode | The parent node. |
Implements logicalaccess::XmlSerializable.
Reimplemented in logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, and logicalaccess::ValueDataField.
|
pure virtual |
Set linear data.
data | Where to get data |
Implemented in logicalaccess::ChecksumDataField, logicalaccess::BinaryDataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, and logicalaccess::TLVDataField.
void logicalaccess::DataField::setName | ( | const std::string & | name | ) |
Set the field name.
name | The field name. |
|
virtual |
Set the field position in bits.
position | The field position in bits. |
Reimplemented in logicalaccess::ParityDataField, and logicalaccess::TLVDataField.
|
overridevirtual |
UnSerialize a XML node to the current object.
node | The XML node. |
Implements logicalaccess::XmlSerializable.
Reimplemented in logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, and logicalaccess::ValueDataField.
|
protected |
The field length in bits.
|
protected |
The field name.
|
protected |
The field position in bits.