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

A parity data field. More...

#include <paritydatafield.hpp>

Inheritance diagram for logicalaccess::ParityDataField:
logicalaccess::DataField logicalaccess::XmlSerializable

Public Member Functions

 ParityDataField ()
 Constructor.
 
virtual ~ParityDataField ()
 Destructor.
 
DataFieldType getDFType () const override
 Get the field type.
 
void setPosition (unsigned int position) override
 Set the field position in bits.
 
void setParityType (ParityType type)
 Set the parity type.
 
ParityType getParityType () const
 Get the parity type.
 
void setBitsUsePositions (std::vector< unsigned int > positions)
 Set the bits to use positions to calculate parity.
 
std::vector< unsigned int > getBitsUsePositions () const
 Get the bits to use positions to calculate parity.
 
bool checkFieldDependecy (std::shared_ptr< DataField > field)
 Check the field dependecy with another one.
 
BitsetStream getLinearData (const BitsetStream &data) const override
 Get linear data.
 
void setLinearData (const ByteVector &data) override
 Set linear data.
 
bool checkSkeleton (std::shared_ptr< DataField > field) const override
 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.
 
std::string getDefaultXmlNodeName () const override
 Get the default Xml Node name for this 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

ParityType d_parityType
 
std::vector< unsigned int > d_bitsUsePositions
 
- 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 parity data field.

Constructor & Destructor Documentation

◆ ParityDataField()

logicalaccess::ParityDataField::ParityDataField ( )

Constructor.

◆ ~ParityDataField()

logicalaccess::ParityDataField::~ParityDataField ( )
virtual

Destructor.

Member Function Documentation

◆ checkFieldDependecy()

bool logicalaccess::ParityDataField::checkFieldDependecy ( std::shared_ptr< DataField field)

Check the field dependecy with another one.

Parameters
fieldThe field to check with.
Returns
True if the field is dependent, false otherwise.

◆ checkSkeleton()

bool logicalaccess::ParityDataField::checkSkeleton ( std::shared_ptr< DataField field) const
overridevirtual

Check the current field skeleton with another field.

Parameters
fieldThe field to check.
Returns
True on success, false otherwise.

Implements logicalaccess::DataField.

◆ getBitsUsePositions()

std::vector< unsigned int > logicalaccess::ParityDataField::getBitsUsePositions ( ) const

Get the bits to use positions to calculate parity.

Returns
The bits positions.

◆ getDefaultXmlNodeName()

std::string logicalaccess::ParityDataField::getDefaultXmlNodeName ( ) const
overridevirtual

Get the default Xml Node name for this object.

Returns
The Xml node name.

Implements logicalaccess::XmlSerializable.

◆ getDFType()

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

Get the field type.

Returns
The field type.

Implements logicalaccess::DataField.

◆ getLinearData()

BitsetStream logicalaccess::ParityDataField::getLinearData ( const BitsetStream data) const
overridevirtual

Get linear data.

Parameters
dataWhere to put data
dataLengthBytesLength in byte of data
posThe first position bit. Will contain the position bit after the field.

Implements logicalaccess::DataField.

◆ getParityType()

ParityType logicalaccess::ParityDataField::getParityType ( ) const

Get the parity type.

Returns
The parity type.

◆ serialize()

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

Serialize the current object to XML.

Parameters
parentNodeThe parent node.

Reimplemented from logicalaccess::DataField.

◆ setBitsUsePositions()

void logicalaccess::ParityDataField::setBitsUsePositions ( std::vector< unsigned int >  positions)

Set the bits to use positions to calculate parity.

Parameters
positionsThe bits positions.

◆ setLinearData()

void logicalaccess::ParityDataField::setLinearData ( const ByteVector data)
overridevirtual

Set linear data.

Parameters
dataWhere to get data
dataLengthBytesLength of data in bytes
posThe first position bit. Will contain the position bit after the field.

Implements logicalaccess::DataField.

◆ setParityType()

void logicalaccess::ParityDataField::setParityType ( ParityType  type)

Set the parity type.

Parameters
typeThe parity type.

◆ setPosition()

void logicalaccess::ParityDataField::setPosition ( unsigned int  position)
overridevirtual

Set the field position in bits.

Parameters
positionThe field position in bits.

Reimplemented from logicalaccess::DataField.

◆ unSerialize()

void logicalaccess::ParityDataField::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_bitsUsePositions

std::vector<unsigned int> logicalaccess::ParityDataField::d_bitsUsePositions
protected

◆ d_parityType

ParityType logicalaccess::ParityDataField::d_parityType
protected

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