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

A Wiegand 37 format class. More...

#include <wiegand37format.hpp>

Inheritance diagram for logicalaccess::Wiegand37Format:
logicalaccess::WiegandFormat logicalaccess::StaticFormat logicalaccess::Format logicalaccess::XmlSerializable logicalaccess::Wiegand37WithFacilityFormat

Public Member Functions

 Wiegand37Format ()
 Constructor.
 
virtual ~Wiegand37Format ()
 Destructor.
 
unsigned int getDataLength () const override
 Get the format length in bits.
 
std::string getName () const override
 Get the format name.
 
BitsetStream getLinearDataWithoutParity () const override
 Get linear data without parity.
 
void setLinearDataWithoutParity (const ByteVector &data) override
 Write linear data without parity into data buffer.
 
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::WiegandFormat
 WiegandFormat ()
 Constructor.
 
virtual ~WiegandFormat ()
 Destructor.
 
unsigned char getLeftParity () const
 Get left parity byte.
 
unsigned char getRightParity () const
 Get right parity byte.
 
ByteVector getLinearData () const override
 Get linear data.
 
virtual BitsetStream getLinearDataWithoutParity () const =0
 Get linear data without parity.
 
void setLinearData (const ByteVector &data) override
 Set linear data.
 
virtual void setLinearDataWithoutParity (const ByteVector &data)=0
 Write linear data without parity into data buffer.
 
- 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.
 

Additional Inherited Members

- 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 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)
 
- Protected Attributes inherited from logicalaccess::WiegandFormat
unsigned int d_leftParityLength
 The left parity length.
 
ParityType d_leftParityType
 The left parity type.
 
unsigned int d_rightParityLength
 The right parity length.
 
ParityType d_rightParityType
 The right parity type.
 
- 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_
 

Detailed Description

A Wiegand 37 format class.

Constructor & Destructor Documentation

◆ Wiegand37Format()

logicalaccess::Wiegand37Format::Wiegand37Format ( )

Constructor.

Create a Wiegand 37 Format.

◆ ~Wiegand37Format()

logicalaccess::Wiegand37Format::~Wiegand37Format ( )
virtual

Destructor.

Release the Wiegand 37 Format.

Member Function Documentation

◆ checkSkeleton()

bool logicalaccess::Wiegand37Format::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.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ getDataLength()

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

Get the format length in bits.

Implements logicalaccess::Format.

◆ getDefaultXmlNodeName()

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

Get the default Xml Node name for this object.

Returns
The Xml node name.

Implements logicalaccess::XmlSerializable.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ getFormatLinearData()

size_t logicalaccess::Wiegand37Format::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.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ getLinearDataWithoutParity()

BitsetStream logicalaccess::Wiegand37Format::getLinearDataWithoutParity ( ) const
overridevirtual

Get linear data without parity.

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

Implements logicalaccess::WiegandFormat.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ getName()

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

Get the format name.

Returns
The format name

Implements logicalaccess::Format.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ getType()

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

Get the format type.

Returns
The format type.

Implements logicalaccess::Format.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ serialize()

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

Serialize the current object to XML.

Parameters
parentNodeThe parent node.

Implements logicalaccess::XmlSerializable.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ setFormatLinearData()

void logicalaccess::Wiegand37Format::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.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ setLinearDataWithoutParity()

void logicalaccess::Wiegand37Format::setLinearDataWithoutParity ( const ByteVector data)
overridevirtual

Write linear data without parity into data buffer.

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

Implements logicalaccess::WiegandFormat.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.

◆ unSerialize()

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

UnSerialize a XML node to the current object.

Parameters
nodeThe XML node.

Implements logicalaccess::XmlSerializable.

Reimplemented in logicalaccess::Wiegand37WithFacilityFormat.


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