|
LibLogicalAccess
2.5.0
An Open Source RFID Library
|
A static format. More...
#include <staticformat.hpp>
Public Member Functions | |
| 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. | |
Public Member Functions inherited from logicalaccess::Format | |
| 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) |
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 | 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< 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 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 | |
| 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). | |
Protected Attributes | |
| 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. | |
Protected Attributes inherited from logicalaccess::Format | |
| std::list< std::shared_ptr< DataField > > | d_fieldList |
| The field list. | |
| bool | is_repeatable_ |
Additional Inherited Members | |
Static Protected Member Functions inherited from logicalaccess::XmlSerializable | |
| static unsigned long long | atoull (const std::string &str) |
A static format.
| logicalaccess::StaticFormat::StaticFormat | ( | ) |
Constructor.
Create a Format.
|
virtualdefault |
|
static |
Calculate parity for a block of data.
| data | Data block |
| dataLengthBytes | Length of data in bytes |
| parityType | Parity type |
| start | Bit to start |
| parityLengthBits | Length of parity in bits |
|
virtual |
Convert a field into the configured DataRepresentation and DataType.
| data | The buffer data that will contains the result. |
| dataLengthBytes | The buffer data length. |
| pos | The current bit position into the buffer. Will contains the new position. |
| field | The field value. |
| fieldlen | The field length (in bits). |
| std::shared_ptr< DataRepresentation > logicalaccess::StaticFormat::getDataRepresentation | ( | ) | const |
Get the Data Representation for the format.
| std::shared_ptr< DataType > logicalaccess::StaticFormat::getDataType | ( | ) | const |
Get the Data Type for the format.
|
protectedvirtual |
Get the encoding linear data in bytes (Data Representation and Data Type).
| data | The data buffer |
| dataLengthBytes | The data buffer length |
|
protectedpure virtual |
Get the format linear data in bytes.
| data | The data buffer |
| dataLengthBytes | The data buffer length |
Implemented in logicalaccess::ASCIIFormat, logicalaccess::BariumFerritePCSCFormat, logicalaccess::DataClockFormat, logicalaccess::FASCN200BitFormat, logicalaccess::Getronik40BitFormat, logicalaccess::HIDHoneywell40BitFormat, logicalaccess::RawFormat, logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand35Format, logicalaccess::Wiegand37Format, logicalaccess::Wiegand37WithFacilityFormat, and logicalaccess::Wiegand37WithFacilityRightParity2Format.
|
overridevirtual |
Get skeleton linear data.
| data | Where to put data |
| dataLengthBytes | Length in byte of data |
Implements logicalaccess::Format.
| unsigned long long logicalaccess::StaticFormat::getUid | ( | ) | const |
Get the UID number.
|
virtual |
The format need user configuration to be use.
Reimplemented in logicalaccess::ASCIIFormat, logicalaccess::RawFormat, and logicalaccess::Wiegand35Format.
| unsigned long long logicalaccess::StaticFormat::revertField | ( | BitsetStream & | data, |
| unsigned int * | pos, | ||
| unsigned int | fieldlen | ||
| ) | const |
Revert a field using the configured DataRepresentation and DataType.
| data | The buffer data that contains the encoded field value. |
| dataLengthBytes | The buffer data length. |
| pos | The current bit position into the buffer. Will contains the new position. |
| fieldlen | The field length (in bits). |
| void logicalaccess::StaticFormat::setDataRepresentation | ( | std::shared_ptr< DataRepresentation > & | encoding | ) |
Set the Data Representation for the format.
| encoding | The Data Representation. |
| void logicalaccess::StaticFormat::setDataType | ( | std::shared_ptr< DataType > & | encoding | ) |
Set the Data Type for the format.
| encoding | The Data Type. |
|
protectedvirtual |
Set the encoding linear data in bytes (Data Representation and Data Type).
| data | The data buffer |
| indexByte | The data offset |
|
protectedpure virtual |
Set the format linear data in bytes.
| data | The data buffer |
| indexByte | The data offset |
Implemented in logicalaccess::ASCIIFormat, logicalaccess::BariumFerritePCSCFormat, logicalaccess::DataClockFormat, logicalaccess::FASCN200BitFormat, logicalaccess::Getronik40BitFormat, logicalaccess::HIDHoneywell40BitFormat, logicalaccess::RawFormat, logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand35Format, logicalaccess::Wiegand37Format, logicalaccess::Wiegand37WithFacilityFormat, and logicalaccess::Wiegand37WithFacilityRightParity2Format.
|
overridevirtual |
Set skeleton linear data.
| data | Where to get data |
| dataLengthBytes | Length in byte of data |
Implements logicalaccess::Format.
| void logicalaccess::StaticFormat::setUid | ( | unsigned long long | uid | ) |
Set the UID number.
| uid | The UID. |
|
protected |
The Data Representation.
|
protected |
The Data Type.
|
protected |
The UID number.
1.9.6