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

A Wiegand 37 with Facility Right Parity 2 format class. More...

#include <wiegand37withfacilityrightparity2format.hpp>

Inheritance diagram for logicalaccess::Wiegand37WithFacilityRightParity2Format:
logicalaccess::StaticFormat logicalaccess::Format logicalaccess::XmlSerializable

Public Member Functions

 Wiegand37WithFacilityRightParity2Format ()
 Constructor.
 
virtual ~Wiegand37WithFacilityRightParity2Format ()
 Destructor.
 
unsigned int getDataLength () const override
 Get the format length in bits.
 
std::string getName () const override
 Get the format name.
 
unsigned short int getFacilityCode () const
 Get facility code.
 
void setFacilityCode (unsigned short int facilityCode)
 Set facility code.
 
ByteVector getLinearData () const override
 Get linear data.
 
void setLinearData (const ByteVector &data) override
 Set linear data.
 
size_t getFormatLinearData (ByteVector &data) const override
 Get the format linear data in bytes.
 
void setFormatLinearData (const ByteVector &data, size_t *indexByte) override
 Set the format linear data in bytes.
 
FormatType getType () const override
 Get the format type.
 
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.
 
bool checkSkeleton (std::shared_ptr< Format > format) const override
 Check the current format skeleton with another format.
 
- Public Member Functions inherited from logicalaccess::StaticFormat
 StaticFormat ()
 Constructor.
 
virtual ~StaticFormat ()=default
 
std::shared_ptr< DataRepresentationgetDataRepresentation () const
 Get the Data Representation for the format.
 
void setDataRepresentation (std::shared_ptr< DataRepresentation > &encoding)
 Set the Data Representation for the format.
 
std::shared_ptr< DataTypegetDataType () const
 Get the Data Type for the format.
 
void setDataType (std::shared_ptr< DataType > &encoding)
 Set the Data Type for the format.
 
unsigned long long getUid () const
 Get the UID number.
 
void setUid (unsigned long long uid)
 Set the UID number.
 
virtual bool needUserConfigurationToBeUse () const
 The format need user configuration to be use.
 
virtual void convertField (BitsetStream &data, unsigned long long field, unsigned int fieldlen) const
 Convert a field into the configured DataRepresentation and DataType.
 
unsigned long long revertField (BitsetStream &data, unsigned int *pos, unsigned int fieldlen) const
 Revert a field using the configured DataRepresentation and DataType.
 
size_t getSkeletonLinearData (ByteVector &data) const override
 Get skeleton linear data.
 
void setSkeletonLinearData (const ByteVector &data) override
 Set skeleton linear data.
 
- Public Member Functions inherited from logicalaccess::Format
 Format ()
 Constructor.
 
 Format (const Format &other)=delete
 Remove copy.
 
Formatoperator= (const Format &)=delete
 
virtual ~Format ()=default
 
virtual unsigned int getDataLength () const =0
 Get data length in bits.
 
virtual std::string getName () const =0
 Get the format name.
 
virtual ByteVector getLinearData () const =0
 Get linear data.
 
virtual void setLinearData (const ByteVector &data)=0
 Set linear data.
 
virtual size_t getSkeletonLinearData (ByteVector &data) const =0
 Get skeleton linear data.
 
virtual void setSkeletonLinearData (const ByteVector &data)=0
 Set skeleton linear data.
 
virtual FormatType getType () const =0
 Get the format type.
 
virtual std::vector< std::string > getValuesFieldList () const
 Get values field list.
 
virtual unsigned int getFieldLength (const std::string &field) const
 Get the field length.
 
virtual bool checkSkeleton (std::shared_ptr< Format > format) const =0
 Check the current format skeleton with another format.
 
virtual ByteVector getIdentifier ()
 Get the identifier.
 
virtual std::vector< std::shared_ptr< DataField > > getFieldList ()
 Get the format field list.
 
virtual void setFieldList (std::vector< std::shared_ptr< DataField > > fields)
 Get the format field list.
 
std::shared_ptr< DataFieldgetFieldFromName (std::string field) const
 Get the field object from name.
 
bool isRepeatable () const
 
void setRepeatable (bool v)
 
- 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.
 

Static Public Member Functions

static unsigned char getLeftParity (const BitsetStream &data)
 Get the left parity for a buffer.
 
static unsigned char getRightParity1 (const BitsetStream &data)
 Get the right parity 1 for a buffer.
 
static unsigned char getRightParity2 (const BitsetStream &data)
 Get the right parity 2 for a buffer.
 
- Static Public Member Functions inherited from logicalaccess::StaticFormat
static unsigned char calculateParity (const BitsetStream &data, ParityType parityType, size_t start, size_t parityLengthBits)
 Calculate parity for a block of data.
 
- Static Public Member Functions inherited from logicalaccess::Format
static std::shared_ptr< FormatgetByFormatType (FormatType type)
 Get a new format instance from a format type.
 
static unsigned char calculateParity (const BitsetStream &data, ParityType parityType, std::vector< unsigned int > positions)
 Calculate parity for a block of data.
 
- 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.
 

Protected Attributes

struct {
   unsigned short int   d_facilityCode
 The facility code. More...
 
d_formatLinear
 
- Protected Attributes inherited from logicalaccess::StaticFormat
std::shared_ptr< DataRepresentationd_dataRepresentation
 The Data Representation.
 
std::shared_ptr< DataTyped_dataType
 The Data Type.
 
unsigned long long d_uid
 The UID number.
 
- Protected Attributes inherited from logicalaccess::Format
std::list< std::shared_ptr< DataField > > d_fieldList
 The field list.
 
bool is_repeatable_
 

Additional Inherited Members

- Protected Member Functions inherited from logicalaccess::StaticFormat
virtual size_t getFormatLinearData (ByteVector &data) const =0
 Get the format linear data in bytes.
 
virtual size_t getEncodingLinearData (ByteVector &data) const
 Get the encoding linear data in bytes (Data Representation and Data Type).
 
virtual void setFormatLinearData (const ByteVector &data, size_t *indexByte)=0
 Set the format linear data in bytes.
 
virtual void setEncodingLinearData (const ByteVector &data, size_t *indexByte)
 Set the encoding linear data in bytes (Data Representation and Data Type).
 
- Static Protected Member Functions inherited from logicalaccess::XmlSerializable
static unsigned long long atoull (const std::string &str)
 

Detailed Description

A Wiegand 37 with Facility Right Parity 2 format class.

Constructor & Destructor Documentation

◆ Wiegand37WithFacilityRightParity2Format()

logicalaccess::Wiegand37WithFacilityRightParity2Format::Wiegand37WithFacilityRightParity2Format ( )

Constructor.

Create a Wiegand 37 With Facility Format Right Parity 2.

◆ ~Wiegand37WithFacilityRightParity2Format()

logicalaccess::Wiegand37WithFacilityRightParity2Format::~Wiegand37WithFacilityRightParity2Format ( )
virtual

Destructor.

Release the Wiegand 37 With Facility Format Right Parity 2.

Member Function Documentation

◆ checkSkeleton()

bool logicalaccess::Wiegand37WithFacilityRightParity2Format::checkSkeleton ( std::shared_ptr< Format format) const
overridevirtual

Check the current format skeleton with another format.

Parameters
formatThe format to check.
Returns
True on success, false otherwise.

Implements logicalaccess::Format.

◆ getDataLength()

unsigned int logicalaccess::Wiegand37WithFacilityRightParity2Format::getDataLength ( ) const
overridevirtual

Get the format length in bits.

Implements logicalaccess::Format.

◆ getDefaultXmlNodeName()

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

Get the default Xml Node name for this object.

Returns
The Xml node name.

Implements logicalaccess::XmlSerializable.

◆ getFacilityCode()

unsigned short int logicalaccess::Wiegand37WithFacilityRightParity2Format::getFacilityCode ( ) const

Get facility code.

◆ getFormatLinearData()

size_t logicalaccess::Wiegand37WithFacilityRightParity2Format::getFormatLinearData ( ByteVector data) const
overridevirtual

Get the format linear data in bytes.

Parameters
dataThe data buffer
dataLengthBytesThe data buffer length
Returns
The format linear data length.

Implements logicalaccess::StaticFormat.

◆ getLeftParity()

unsigned char logicalaccess::Wiegand37WithFacilityRightParity2Format::getLeftParity ( const BitsetStream data)
static

Get the left parity for a buffer.

Parameters
dataThe buffer.
dataLengthBytesThe buffer length in bytes.
Returns
The parity.

◆ getLinearData()

ByteVector logicalaccess::Wiegand37WithFacilityRightParity2Format::getLinearData ( ) const
overridevirtual

Get linear data.

Parameters
dataBuffer to be modified. Should be allocated.
dataLengthBytesLength in byte of data

Implements logicalaccess::Format.

◆ getName()

std::string logicalaccess::Wiegand37WithFacilityRightParity2Format::getName ( ) const
overridevirtual

Get the format name.

Returns
The format name

Implements logicalaccess::Format.

◆ getRightParity1()

unsigned char logicalaccess::Wiegand37WithFacilityRightParity2Format::getRightParity1 ( const BitsetStream data)
static

Get the right parity 1 for a buffer.

Parameters
dataThe buffer.
dataLengthBytesThe buffer length in bytes.
Returns
The parity.

◆ getRightParity2()

unsigned char logicalaccess::Wiegand37WithFacilityRightParity2Format::getRightParity2 ( const BitsetStream data)
static

Get the right parity 2 for a buffer.

Parameters
dataThe buffer.
dataLengthBytesThe buffer length in bytes.
Returns
The parity.

◆ getType()

FormatType logicalaccess::Wiegand37WithFacilityRightParity2Format::getType ( ) const
overridevirtual

Get the format type.

Returns
The format type.

Implements logicalaccess::Format.

◆ serialize()

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

Serialize the current object to XML.

Parameters
parentNodeThe parent node.

Implements logicalaccess::XmlSerializable.

◆ setFacilityCode()

void logicalaccess::Wiegand37WithFacilityRightParity2Format::setFacilityCode ( unsigned short int  facilityCode)

Set facility code.

Parameters
facilityCodeThe facility code.

◆ setFormatLinearData()

void logicalaccess::Wiegand37WithFacilityRightParity2Format::setFormatLinearData ( const ByteVector data,
size_t *  indexByte 
)
overridevirtual

Set the format linear data in bytes.

Parameters
dataThe data buffer
indexByteThe data offset

Implements logicalaccess::StaticFormat.

◆ setLinearData()

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

Set linear data.

Parameters
dataBuffer where data will be written.
dataLengthBytesLength of data in bytes

Implements logicalaccess::Format.

◆ unSerialize()

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

UnSerialize a XML node to the current object.

Parameters
nodeThe XML node.

Implements logicalaccess::XmlSerializable.

Member Data Documentation

◆ d_facilityCode

unsigned short int logicalaccess::Wiegand37WithFacilityRightParity2Format::d_facilityCode

The facility code.

◆ 

struct { ... } logicalaccess::Wiegand37WithFacilityRightParity2Format::d_formatLinear

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