7#ifndef LOGICALACCESS_DATAFIELD_HPP
8#define LOGICALACCESS_DATAFIELD_HPP
13#include <boost/utility.hpp>
18#define UNKNOWN_FIELD_POSITION 0xffffffff
35 public std::enable_shared_from_this<DataField>
52 virtual unsigned int getDataLength()
const;
58 virtual void setPosition(
unsigned int position);
64 unsigned int getPosition()
const;
76 void setName(
const std::string &name);
82 std::string getName()
const;
107 void serialize(boost::property_tree::ptree &parentNode)
override;
113 void unSerialize(boost::property_tree::ptree &node)
override;
Definition: BitsetStream.hpp:15
A data field base class.
Definition: datafield.hpp:36
virtual void setLinearData(const ByteVector &data)=0
Set linear data.
unsigned int d_position
The field position in bits.
Definition: datafield.hpp:129
virtual DataFieldType getDFType() const =0
Get the field type.
std::string d_name
The field name.
Definition: datafield.hpp:119
virtual BitsetStream getLinearData(const BitsetStream &data) const =0
Get linear data.
unsigned int d_length
The field length in bits.
Definition: datafield.hpp:124
virtual bool checkSkeleton(std::shared_ptr< DataField > field) const =0
Check the current field skeleton with another field.
A Xml Serializable base class. Add Xml serialization to a class.
Definition: xmlserializable.hpp:54
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
DataFieldType
Definition: datafield.hpp:22
@ DFT_TLV
Definition: datafield.hpp:29
@ DFT_CHECKSUM
Definition: datafield.hpp:24
@ DFT_PARITY
Definition: datafield.hpp:25
@ DFT_VALUE
Definition: datafield.hpp:23
@ DFT_NUMBER
Definition: datafield.hpp:27
@ DFT_BINARY
Definition: datafield.hpp:26
@ DFT_STRING
Definition: datafield.hpp:28