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

A Wiegand format. More...

#include <wiegandformat.hpp>

Inheritance diagram for logicalaccess::WiegandFormat:
logicalaccess::StaticFormat logicalaccess::Format logicalaccess::XmlSerializable logicalaccess::Wiegand26Format logicalaccess::Wiegand34Format logicalaccess::Wiegand37Format logicalaccess::Wiegand34WithFacilityFormat logicalaccess::Wiegand37WithFacilityFormat

Public Member Functions

 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.
 

Protected Attributes

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_
 

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)
 

Detailed Description

A Wiegand format.

Constructor & Destructor Documentation

◆ WiegandFormat()

logicalaccess::WiegandFormat::WiegandFormat ( )

Constructor.

Create a Wiegand Format.

◆ ~WiegandFormat()

logicalaccess::WiegandFormat::~WiegandFormat ( )
virtual

Destructor.

Release the Wiegand Format.

Member Function Documentation

◆ getLeftParity()

unsigned char logicalaccess::WiegandFormat::getLeftParity ( ) const

Get left parity byte.

Returns
The left parity.

◆ getLinearData()

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

Get linear data.

Parameters
dataWhere to put data
dataLengthBytesLength in byte of data

Implements logicalaccess::Format.

◆ getLinearDataWithoutParity()

virtual BitsetStream logicalaccess::WiegandFormat::getLinearDataWithoutParity ( ) const
pure virtual

Get linear data without parity.

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

Implemented in logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand37Format, and logicalaccess::Wiegand37WithFacilityFormat.

◆ getRightParity()

unsigned char logicalaccess::WiegandFormat::getRightParity ( ) const

Get right parity byte.

Returns
The right parity.

◆ setLinearData()

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

Set linear data.

Parameters
dataWhere to get data
dataLengthBytesLength of data in bytes

Implements logicalaccess::Format.

◆ setLinearDataWithoutParity()

virtual void logicalaccess::WiegandFormat::setLinearDataWithoutParity ( const ByteVector data)
pure virtual

Write linear data without parity into data buffer.

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

Implemented in logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand37Format, and logicalaccess::Wiegand37WithFacilityFormat.

Member Data Documentation

◆ d_leftParityLength

unsigned int logicalaccess::WiegandFormat::d_leftParityLength
protected

The left parity length.

◆ d_leftParityType

ParityType logicalaccess::WiegandFormat::d_leftParityType
protected

The left parity type.

◆ d_rightParityLength

unsigned int logicalaccess::WiegandFormat::d_rightParityLength
protected

The right parity length.

◆ d_rightParityType

ParityType logicalaccess::WiegandFormat::d_rightParityType
protected

The right parity type.


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