LibLogicalAccess
2.5.0
An Open Source RFID Library
|
A Wiegand format. More...
#include <wiegandformat.hpp>
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. | |
![]() | |
StaticFormat () | |
Constructor. | |
virtual | ~StaticFormat ()=default |
std::shared_ptr< DataRepresentation > | getDataRepresentation () 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< DataType > | getDataType () 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. | |
![]() | |
Format () | |
Constructor. | |
Format (const Format &other)=delete | |
Remove copy. | |
Format & | operator= (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< DataField > | getFieldFromName (std::string field) const |
Get the field object from name. | |
bool | isRepeatable () const |
void | setRepeatable (bool v) |
![]() | |
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. | |
![]() | |
std::shared_ptr< DataRepresentation > | d_dataRepresentation |
The Data Representation. | |
std::shared_ptr< DataType > | d_dataType |
The Data Type. | |
unsigned long long | d_uid |
The UID number. | |
![]() | |
std::list< std::shared_ptr< DataField > > | d_fieldList |
The field list. | |
bool | is_repeatable_ |
Additional Inherited Members | |
![]() | |
static unsigned char | calculateParity (const BitsetStream &data, ParityType parityType, size_t start, size_t parityLengthBits) |
Calculate parity for a block of data. | |
![]() | |
static std::shared_ptr< Format > | getByFormatType (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 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. | |
![]() | |
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 unsigned long long | atoull (const std::string &str) |
A Wiegand format.
logicalaccess::WiegandFormat::WiegandFormat | ( | ) |
Constructor.
Create a Wiegand Format.
|
virtual |
Destructor.
Release the Wiegand Format.
unsigned char logicalaccess::WiegandFormat::getLeftParity | ( | ) | const |
Get left parity byte.
|
overridevirtual |
Get linear data.
data | Where to put data |
dataLengthBytes | Length in byte of data |
Implements logicalaccess::Format.
|
pure virtual |
Get linear data without parity.
data | Buffer to be modified. Should be allocated. |
dataLengthBytes | Length in byte of data |
Implemented in logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand37Format, and logicalaccess::Wiegand37WithFacilityFormat.
unsigned char logicalaccess::WiegandFormat::getRightParity | ( | ) | const |
Get right parity byte.
|
overridevirtual |
Set linear data.
data | Where to get data |
dataLengthBytes | Length of data in bytes |
Implements logicalaccess::Format.
|
pure virtual |
Write linear data without parity into data buffer.
data | Buffer where data will be written. |
dataLengthBytes | Length of data in bytes |
Implemented in logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand37Format, and logicalaccess::Wiegand37WithFacilityFormat.
|
protected |
The left parity length.
|
protected |
The left parity type.
|
protected |
The right parity length.
|
protected |
The right parity type.