LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
logicalaccess::ValueDataField Class Reference

A value data field base class. More...

#include <valuedatafield.hpp>

Inheritance diagram for logicalaccess::ValueDataField:
logicalaccess::DataField logicalaccess::XmlSerializable logicalaccess::BinaryDataField logicalaccess::NumberDataField logicalaccess::StringDataField logicalaccess::TLVDataField

Public Member Functions

 ValueDataField ()
 Constructor.
 
virtual ~ValueDataField ()
 Destructor.
 
DataFieldType getDFType () const override
 Get the field type.
 
virtual void setDataLength (unsigned int length)
 Set data length in bits.
 
std::shared_ptr< DataRepresentationgetDataRepresentation () const
 Get the Data Representation for the field.
 
void setDataRepresentation (std::shared_ptr< DataRepresentation > &encoding)
 Set the Data Representation for the field.
 
std::shared_ptr< DataTypegetDataType () const
 Get the Data Type for the field.
 
void setDataType (const std::shared_ptr< DataType > &encoding)
 Set the Data Type for the field.
 
void setIsFixedField (bool isFixed)
 Set if the field is a fixed field.
 
bool getIsFixedField () const
 Get if the field is a fixed field.
 
void setIsIdentifier (bool isIdentifier)
 Set if the field is used as identifier.
 
bool getIsIdentifier () const
 Get if the field is used as identifier.
 
void convertNumericData (BitsetStream &data, unsigned long long field, unsigned int fieldlen) const
 Convert a numeric data into the configured DataRepresentation and DataType.
 
void convertBinaryData (const BitsetStream &data, unsigned int fieldlen, BitsetStream &convertedData) const
 Convert a binary data into the configured DataRepresentation.
 
unsigned long long revertNumericData (const BitsetStream &data, unsigned int pos, unsigned int fieldlen) const
 Revert a numeric data using the configured DataRepresentation and DataType.
 
BitsetStream revertBinaryData (const BitsetStream &data, unsigned int pos, unsigned int fieldlen) const
 Revert a binary data using the configured DataRepresentation.
 
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.
 
- Public Member Functions inherited from logicalaccess::DataField
 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.
 
- Public Member Functions inherited from logicalaccess::XmlSerializable
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::shared_ptr< DataRepresentationd_dataRepresentation
 The Data Representation.
 
std::shared_ptr< DataTyped_dataType
 The Data Type.
 
bool d_isFixedField
 The field is a value field.
 
bool d_isIdentifier
 The field is used as identifier.
 
- Protected Attributes inherited from logicalaccess::DataField
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 Public Member Functions inherited from logicalaccess::XmlSerializable
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 Protected Member Functions inherited from logicalaccess::XmlSerializable
static unsigned long long atoull (const std::string &str)
 

Detailed Description

A value data field base class.

Constructor & Destructor Documentation

◆ ValueDataField()

logicalaccess::ValueDataField::ValueDataField ( )

Constructor.

◆ ~ValueDataField()

logicalaccess::ValueDataField::~ValueDataField ( )
virtual

Destructor.

Member Function Documentation

◆ convertBinaryData()

void logicalaccess::ValueDataField::convertBinaryData ( const BitsetStream data,
unsigned int  fieldlen,
BitsetStream convertedData 
) const

Convert a binary data into the configured DataRepresentation.

Parameters
dataThe buffer data that contains the read buffer.
dataLengthBytesThe buffer data length.
posThe current bit position into the buffer. Will contains the new position.
fieldlenThe field length (in bits).
convertedDataThe buffer data that will contains the result.
convertedDataLengthBytesThe buffer data length.

◆ convertNumericData()

void logicalaccess::ValueDataField::convertNumericData ( BitsetStream data,
unsigned long long  field,
unsigned int  fieldlen 
) const

Convert a numeric data into the configured DataRepresentation and DataType.

Parameters
dataThe buffer data that will contains the result.
dataLengthBytesThe buffer data length.
posThe current bit position into the buffer. Will contains the new position.
fieldThe numeric data value.
fieldlenThe field length (in bits).

◆ getDataRepresentation()

std::shared_ptr< DataRepresentation > logicalaccess::ValueDataField::getDataRepresentation ( ) const

Get the Data Representation for the field.

Returns
The Data Representation.

◆ getDataType()

std::shared_ptr< DataType > logicalaccess::ValueDataField::getDataType ( ) const

Get the Data Type for the field.

Returns
The Data Type.

◆ getDFType()

DataFieldType logicalaccess::ValueDataField::getDFType ( ) const
inlineoverridevirtual

Get the field type.

Returns
The field type.

Implements logicalaccess::DataField.

◆ getIsFixedField()

bool logicalaccess::ValueDataField::getIsFixedField ( ) const

Get if the field is a fixed field.

Returns
True if the field is a fixed field, false otherwise.

◆ getIsIdentifier()

bool logicalaccess::ValueDataField::getIsIdentifier ( ) const

Get if the field is used as identifier.

Returns
True if the field is used as identifier, false otherwise.

◆ revertBinaryData()

BitsetStream logicalaccess::ValueDataField::revertBinaryData ( const BitsetStream data,
unsigned int  pos,
unsigned int  fieldlen 
) const

Revert a binary data using the configured DataRepresentation.

Parameters
dataThe buffer data that contains the encoded buffer.
dataLengthBytesThe buffer data length.
posThe current bit position into the buffer. Will contains the new position.
fieldlenThe field length (in bits).
revertedDataThe buffer data that will contains the result.
revertedDataLengthBytesThe buffer data length.

◆ revertNumericData()

unsigned long long logicalaccess::ValueDataField::revertNumericData ( const BitsetStream data,
unsigned int  pos,
unsigned int  fieldlen 
) const

Revert a numeric data using the configured DataRepresentation and DataType.

Parameters
dataThe buffer data that contains the encoded field value.
dataLengthBytesThe buffer data length.
posThe current bit position into the buffer. Will contains the new position.
fieldlenThe field length (in bits).
Returns
The numeric data value.

◆ serialize()

void logicalaccess::ValueDataField::serialize ( boost::property_tree::ptree &  parentNode)
overridevirtual

Serialize the current object to XML.

Parameters
parentNodeThe parent node.

Reimplemented from logicalaccess::DataField.

◆ setDataLength()

void logicalaccess::ValueDataField::setDataLength ( unsigned int  length)
virtual

Set data length in bits.

Parameters
lengthThe data length in bits.

◆ setDataRepresentation()

void logicalaccess::ValueDataField::setDataRepresentation ( std::shared_ptr< DataRepresentation > &  encoding)

Set the Data Representation for the field.

Parameters
encodingThe Data Representation.

◆ setDataType()

void logicalaccess::ValueDataField::setDataType ( const std::shared_ptr< DataType > &  encoding)

Set the Data Type for the field.

Parameters
encodingThe Data Type.

◆ setIsFixedField()

void logicalaccess::ValueDataField::setIsFixedField ( bool  isFixed)

Set if the field is a fixed field.

Returns
isFixed True if the field is a fixed field, false otherwise.

◆ setIsIdentifier()

void logicalaccess::ValueDataField::setIsIdentifier ( bool  isIdentifier)

Set if the field is used as identifier.

Returns
isValue True if the field is used as identifier, false otherwise.

◆ unSerialize()

void logicalaccess::ValueDataField::unSerialize ( boost::property_tree::ptree &  node)
overridevirtual

UnSerialize a XML node to the current object.

Parameters
nodeThe XML node.

Reimplemented from logicalaccess::DataField.

Member Data Documentation

◆ d_dataRepresentation

std::shared_ptr<DataRepresentation> logicalaccess::ValueDataField::d_dataRepresentation
protected

The Data Representation.

◆ d_dataType

std::shared_ptr<DataType> logicalaccess::ValueDataField::d_dataType
protected

The Data Type.

◆ d_isFixedField

bool logicalaccess::ValueDataField::d_isFixedField
protected

The field is a value field.

◆ d_isIdentifier

bool logicalaccess::ValueDataField::d_isIdentifier
protected

The field is used as identifier.


The documentation for this class was generated from the following files: