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

A Xml Serializable base class. Add Xml serialization to a class. More...

#include <xmlserializable.hpp>

Inheritance diagram for logicalaccess::XmlSerializable:
logicalaccess::AccessInfo logicalaccess::CardsFormatComposite logicalaccess::DataField logicalaccess::DataTransport logicalaccess::Format logicalaccess::Key logicalaccess::KeyDiversification logicalaccess::KeyStorage logicalaccess::Location logicalaccess::NdefRecord logicalaccess::NfcData logicalaccess::ReaderConfiguration logicalaccess::ReaderFormatComposite logicalaccess::ReaderUnit logicalaccess::ReaderUnitConfiguration logicalaccess::SerialPortXml

Public Member Functions

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 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.
 

Static Protected Member Functions

static unsigned long long atoull (const std::string &str)
 

Detailed Description

A Xml Serializable base class. Add Xml serialization to a class.

Constructor & Destructor Documentation

◆ ~XmlSerializable()

virtual logicalaccess::XmlSerializable::~XmlSerializable ( )
virtualdefault

Member Function Documentation

◆ atoull()

unsigned long long logicalaccess::XmlSerializable::atoull ( const std::string &  str)
staticprotected

◆ formatHexString()

ByteVector logicalaccess::XmlSerializable::formatHexString ( std::string  hexstr)
static

Format hex string to hex string with space.

Parameters
hexstrThe hex string without space.
Returns
The hex buffer with space.

◆ getDefaultXmlNodeName()

virtual std::string logicalaccess::XmlSerializable::getDefaultXmlNodeName ( ) const
pure virtual

Get the default Xml Node name for this object.

Returns
The Xml node name.

Implemented in logicalaccess::AES128Key, logicalaccess::ComputerMemoryKeyStorage, logicalaccess::HMAC1Key, logicalaccess::IKSStorage, logicalaccess::PKCSKeyStorage, logicalaccess::ReaderMemoryKeyStorage, logicalaccess::SAMKeyStorage, logicalaccess::TripleDESKey, logicalaccess::DummyDataTransport, logicalaccess::ReaderConfiguration, logicalaccess::ReaderUnit, logicalaccess::SerialPortDataTransport, logicalaccess::SerialPortXml, logicalaccess::TCPDataTransport, logicalaccess::UDPDataTransport, logicalaccess::CardsFormatComposite, logicalaccess::ASCIIFormat, logicalaccess::BariumFerritePCSCFormat, logicalaccess::BinaryFieldValue, logicalaccess::BinaryDataField, logicalaccess::ChecksumDataField, logicalaccess::CustomFormat, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, logicalaccess::DataClockFormat, logicalaccess::FASCN200BitFormat, logicalaccess::Getronik40BitFormat, logicalaccess::HIDHoneywell40BitFormat, logicalaccess::RawFormat, logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand35Format, logicalaccess::Wiegand37Format, logicalaccess::Wiegand37WithFacilityFormat, logicalaccess::Wiegand37WithFacilityRightParity2Format, logicalaccess::ReaderFormatComposite, logicalaccess::LockControlTlv, logicalaccess::MemoryControlTlv, logicalaccess::NdefMessage, logicalaccess::NdefRecord, logicalaccess::NfcData, logicalaccess::CPS3Location, logicalaccess::DESFireAccessInfo, logicalaccess::DESFireEV1Location, logicalaccess::DESFireKey, logicalaccess::DESFireLocation, logicalaccess::NXPAV1KeyDiversification, logicalaccess::NXPAV2KeyDiversification, logicalaccess::NXPKeyDiversification, logicalaccess::OmnitechKeyDiversification, logicalaccess::SagemKeyDiversification, logicalaccess::EPassAccessInfo, logicalaccess::FeliCaLocation, logicalaccess::ISO15693Location, logicalaccess::ISO7816Location, logicalaccess::MifareAccessInfo, logicalaccess::MifareKey, logicalaccess::MifareLocation, logicalaccess::MifarePlusSL1AccessInfo, logicalaccess::MifareUltralightAccessInfo, logicalaccess::MifareUltralightCAccessInfo, logicalaccess::MifareUltralightLocation, logicalaccess::ProxLocation, logicalaccess::SeosKey, logicalaccess::TopazAccessInfo, logicalaccess::TopazLocation, logicalaccess::TwicLocation, logicalaccess::DeisterReaderUnitConfiguration, logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecReaderUnitConfiguration, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboReaderUnitConfiguration, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::ISO7816ReaderUnitConfiguration, logicalaccess::KeyboardReaderUnitConfiguration, logicalaccess::LibUSBDataTransport, logicalaccess::LibUSBReaderUnitConfiguration, logicalaccess::OK5553ReaderUnitConfiguration, logicalaccess::OSDPReaderUnitConfiguration, logicalaccess::OSDPSerialPortDataTransport, logicalaccess::PCSCDataTransport, logicalaccess::PCSCReaderUnitConfiguration, logicalaccess::OmnikeyXX21ReaderUnitConfiguration, logicalaccess::RFIDeasReaderUnitConfiguration, logicalaccess::STidSTRSerialPortDataTransport, and logicalaccess::STidSTRReaderUnitConfiguration.

◆ removeXmlDeclaration()

std::string logicalaccess::XmlSerializable::removeXmlDeclaration ( const std::string &  xmlstring)
static

Remove Xml declaration from a xml string.

Parameters
xmlstringXml string containing xml declaration.
Returns
Xml string without xml declaration
Remarks
To remove after a good xml library !!!

◆ serialize() [1/2]

std::string logicalaccess::XmlSerializable::serialize ( )
virtual

◆ serialize() [2/2]

virtual void logicalaccess::XmlSerializable::serialize ( boost::property_tree::ptree &  parentNode)
pure virtual

Serialize object to Xml Node.

Parameters
osThe XML stream.

Implemented in logicalaccess::NXPKeyDiversification, logicalaccess::Key, logicalaccess::ReaderUnit, logicalaccess::AES128Key, logicalaccess::ComputerMemoryKeyStorage, logicalaccess::HMAC1Key, logicalaccess::IKSStorage, logicalaccess::KeyStorage, logicalaccess::PKCSKeyStorage, logicalaccess::ReaderMemoryKeyStorage, logicalaccess::SAMKeyStorage, logicalaccess::TripleDESKey, logicalaccess::DummyDataTransport, logicalaccess::ReaderConfiguration, logicalaccess::SerialPortDataTransport, logicalaccess::SerialPortXml, logicalaccess::TCPDataTransport, logicalaccess::UDPDataTransport, logicalaccess::CardsFormatComposite, logicalaccess::ASCIIFormat, logicalaccess::BariumFerritePCSCFormat, logicalaccess::BinaryFieldValue, logicalaccess::BinaryDataField, logicalaccess::ChecksumDataField, logicalaccess::CustomFormat, logicalaccess::DataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, logicalaccess::ValueDataField, logicalaccess::DataClockFormat, logicalaccess::FASCN200BitFormat, logicalaccess::Getronik40BitFormat, logicalaccess::HIDHoneywell40BitFormat, logicalaccess::RawFormat, logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand35Format, logicalaccess::Wiegand37Format, logicalaccess::Wiegand37WithFacilityFormat, logicalaccess::Wiegand37WithFacilityRightParity2Format, logicalaccess::ReaderFormatComposite, logicalaccess::LockControlTlv, logicalaccess::MemoryControlTlv, logicalaccess::NdefMessage, logicalaccess::NdefRecord, logicalaccess::NfcData, logicalaccess::CPS3Location, logicalaccess::DESFireAccessInfo, logicalaccess::DESFireEV1Location, logicalaccess::DESFireKey, logicalaccess::DESFireLocation, logicalaccess::NXPAV1KeyDiversification, logicalaccess::NXPAV2KeyDiversification, logicalaccess::OmnitechKeyDiversification, logicalaccess::SagemKeyDiversification, logicalaccess::EPassAccessInfo, logicalaccess::FeliCaLocation, logicalaccess::ISO15693Location, logicalaccess::ISO7816Location, logicalaccess::MifareAccessInfo, logicalaccess::MifareKey, logicalaccess::MifareLocation, logicalaccess::MifarePlusSL1AccessInfo, logicalaccess::MifareUltralightAccessInfo, logicalaccess::MifareUltralightCAccessInfo, logicalaccess::MifareUltralightLocation, logicalaccess::ProxLocation, logicalaccess::SeosKey, logicalaccess::TopazAccessInfo, logicalaccess::TopazLocation, logicalaccess::TwicLocation, logicalaccess::DeisterReaderUnit, logicalaccess::DeisterReaderUnitConfiguration, logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecReaderUnit, logicalaccess::ElatecReaderUnitConfiguration, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboReaderUnit, logicalaccess::GunneboReaderUnitConfiguration, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::ISO7816ReaderUnitConfiguration, logicalaccess::KeyboardReaderUnit, logicalaccess::KeyboardReaderUnitConfiguration, logicalaccess::LibUSBDataTransport, logicalaccess::LibUSBReaderUnit, logicalaccess::LibUSBReaderUnitConfiguration, logicalaccess::OK5553ReaderUnit, logicalaccess::OK5553ReaderUnitConfiguration, logicalaccess::OSDPReaderUnit, logicalaccess::OSDPReaderUnitConfiguration, logicalaccess::OSDPSerialPortDataTransport, logicalaccess::PCSCDataTransport, logicalaccess::PCSCReaderUnit, logicalaccess::PCSCReaderUnitConfiguration, logicalaccess::ACSACR1222LReaderUnitConfiguration, logicalaccess::Omnikey5427ReaderUnitConfiguration, logicalaccess::OmnikeyXX21ReaderUnitConfiguration, logicalaccess::RFIDeasReaderUnit, logicalaccess::RFIDeasReaderUnitConfiguration, logicalaccess::STidSTRSerialPortDataTransport, logicalaccess::STidSTRReaderUnit, logicalaccess::STidSTRReaderUnitConfiguration, logicalaccess::AES128Key, logicalaccess::ComputerMemoryKeyStorage, logicalaccess::KeyStorage, logicalaccess::TripleDESKey, logicalaccess::ReaderConfiguration, logicalaccess::ReaderUnit, logicalaccess::CardsFormatComposite, logicalaccess::DESFireAccessInfo, logicalaccess::DESFireKey, logicalaccess::MifareAccessInfo, logicalaccess::MifareKey, logicalaccess::MifareUltralightCAccessInfo, and logicalaccess::SeosKey.

◆ serializeToFile()

void logicalaccess::XmlSerializable::serializeToFile ( const std::string &  filename)
virtual

Serialize object to a Xml file.

Parameters
filenameThe Xml file.
Returns
True on success, false otherwise.

◆ serializeWithHeaders()

std::string logicalaccess::XmlSerializable::serializeWithHeaders ( )
virtual

Serialize object to Xml Node string, with xml headers.

Returns
The serialized object.

◆ unSerialize() [1/4]

virtual void logicalaccess::XmlSerializable::unSerialize ( boost::property_tree::ptree &  node)
pure virtual

UnSerialize object from a Xml Node.

Parameters
nodeThe Xml node.

Implemented in logicalaccess::NXPKeyDiversification, logicalaccess::AES128Key, logicalaccess::ComputerMemoryKeyStorage, logicalaccess::HMAC1Key, logicalaccess::IKSStorage, logicalaccess::KeyStorage, logicalaccess::PKCSKeyStorage, logicalaccess::ReaderMemoryKeyStorage, logicalaccess::SAMKeyStorage, logicalaccess::TripleDESKey, logicalaccess::Key, logicalaccess::DummyDataTransport, logicalaccess::ReaderConfiguration, logicalaccess::ReaderUnit, logicalaccess::SerialPortDataTransport, logicalaccess::SerialPortXml, logicalaccess::TCPDataTransport, logicalaccess::UDPDataTransport, logicalaccess::CardsFormatComposite, logicalaccess::ASCIIFormat, logicalaccess::BariumFerritePCSCFormat, logicalaccess::BinaryFieldValue, logicalaccess::BinaryDataField, logicalaccess::ChecksumDataField, logicalaccess::CustomFormat, logicalaccess::DataField, logicalaccess::NumberDataField, logicalaccess::ParityDataField, logicalaccess::StringDataField, logicalaccess::TLVDataField, logicalaccess::ValueDataField, logicalaccess::DataClockFormat, logicalaccess::FASCN200BitFormat, logicalaccess::Getronik40BitFormat, logicalaccess::HIDHoneywell40BitFormat, logicalaccess::RawFormat, logicalaccess::Wiegand26Format, logicalaccess::Wiegand34Format, logicalaccess::Wiegand34WithFacilityFormat, logicalaccess::Wiegand35Format, logicalaccess::Wiegand37Format, logicalaccess::Wiegand37WithFacilityFormat, logicalaccess::Wiegand37WithFacilityRightParity2Format, logicalaccess::ReaderFormatComposite, logicalaccess::LockControlTlv, logicalaccess::MemoryControlTlv, logicalaccess::NdefMessage, logicalaccess::NdefRecord, logicalaccess::NfcData, logicalaccess::CPS3Location, logicalaccess::DESFireAccessInfo, logicalaccess::DESFireEV1Location, logicalaccess::DESFireKey, logicalaccess::DESFireLocation, logicalaccess::NXPAV1KeyDiversification, logicalaccess::NXPAV2KeyDiversification, logicalaccess::OmnitechKeyDiversification, logicalaccess::SagemKeyDiversification, logicalaccess::EPassAccessInfo, logicalaccess::FeliCaLocation, logicalaccess::ISO15693Location, logicalaccess::ISO7816Location, logicalaccess::MifareKey, logicalaccess::MifareLocation, logicalaccess::MifareUltralightAccessInfo, logicalaccess::MifareUltralightCAccessInfo, logicalaccess::MifareUltralightLocation, logicalaccess::ProxLocation, logicalaccess::SeosKey, logicalaccess::TopazAccessInfo, logicalaccess::TopazLocation, logicalaccess::TwicLocation, logicalaccess::DeisterReaderUnit, logicalaccess::DeisterReaderUnitConfiguration, logicalaccess::DeisterSerialPortDataTransport, logicalaccess::ElatecReaderUnit, logicalaccess::ElatecReaderUnitConfiguration, logicalaccess::ElatecSerialPortDataTransport, logicalaccess::GunneboReaderUnit, logicalaccess::GunneboReaderUnitConfiguration, logicalaccess::GunneboSerialPortDataTransport, logicalaccess::ISO7816ReaderUnitConfiguration, logicalaccess::KeyboardReaderUnit, logicalaccess::KeyboardReaderUnitConfiguration, logicalaccess::LibUSBDataTransport, logicalaccess::LibUSBReaderUnit, logicalaccess::LibUSBReaderUnitConfiguration, logicalaccess::OK5553ReaderUnit, logicalaccess::OK5553ReaderUnitConfiguration, logicalaccess::OSDPReaderUnit, logicalaccess::OSDPReaderUnitConfiguration, logicalaccess::OSDPSerialPortDataTransport, logicalaccess::PCSCDataTransport, logicalaccess::PCSCReaderUnit, logicalaccess::PCSCReaderUnitConfiguration, logicalaccess::ACSACR1222LReaderUnitConfiguration, logicalaccess::Omnikey5427ReaderUnitConfiguration, logicalaccess::OmnikeyXX21ReaderUnitConfiguration, logicalaccess::RFIDeasReaderUnit, logicalaccess::RFIDeasReaderUnitConfiguration, logicalaccess::STidSTRSerialPortDataTransport, logicalaccess::STidSTRReaderUnit, logicalaccess::STidSTRReaderUnitConfiguration, logicalaccess::AES128Key, logicalaccess::ComputerMemoryKeyStorage, logicalaccess::KeyStorage, logicalaccess::TripleDESKey, logicalaccess::ReaderConfiguration, logicalaccess::ReaderUnit, logicalaccess::CardsFormatComposite, logicalaccess::DESFireAccessInfo, logicalaccess::DESFireKey, logicalaccess::MifareAccessInfo, logicalaccess::MifareKey, logicalaccess::MifareUltralightCAccessInfo, logicalaccess::SeosKey, logicalaccess::MifareAccessInfo, and logicalaccess::MifarePlusSL1AccessInfo.

◆ unSerialize() [2/4]

void logicalaccess::XmlSerializable::unSerialize ( boost::property_tree::ptree &  node,
const std::string &  rootNode 
)
virtual

◆ unSerialize() [3/4]

void logicalaccess::XmlSerializable::unSerialize ( const std::string &  xmlstring,
const std::string &  rootNode 
)
virtual

◆ unSerialize() [4/4]

void logicalaccess::XmlSerializable::unSerialize ( std::istream &  is,
const std::string &  rootNode 
)
virtual

◆ unSerializeFromFile()

void logicalaccess::XmlSerializable::unSerializeFromFile ( const std::string &  filename)
virtual

UnSerialize object from a Xml file.

Parameters
filenameThe Xml file.
Returns
True on success, false otherwise.

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