PLCnext API Documentation 26.0.1.58
IXmlSerializable.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6
7#pragma once
9#include "Arp/System/Commons/Xml/XmlReader.hpp"
10#include "Arp/System/Commons/Xml/XmlWriter.hpp"
11#include "Arp/System/Commons/Xml/XmlSerializationContext.hpp"
12
13namespace Arp { namespace System { namespace Commons { namespace Xml
14{
15
18{
19public: // typedefs
20
21public: // construction/destruction
23 IXmlSerializable(void) = default;
25 //IXmlSerializable(const IXmlSerializable& arg) = delete;
27 //IXmlSerializable& operator=(const IXmlSerializable& arg) = delete;
29 virtual ~IXmlSerializable(void) = default;
30
31public: // operators
32 friend bool operator==(const IXmlSerializable& lhs, const IXmlSerializable& rhs) = default;
33 friend bool operator!=(const IXmlSerializable& lhs, const IXmlSerializable& rhs) = default;
34 friend auto operator<=>(const IXmlSerializable& lhs, const IXmlSerializable& rhs) = default;
35
36public: // static operations
37
38public: // setter/getter operations
39
40public: // operations
44 virtual void ReadXml(XmlReader& reader, XmlSerializationContext& context) = 0;
45
49 virtual void WriteXml(XmlWriter& writer, XmlSerializationContext& context) = 0;
50
51protected: // operations
52
53private: // static methods
54
55private: // methods
56
57private: // fields
58
59private: // static fields
60
61};
62
63}}}} // end of namespace Arp::System::Commons::Xml
Interface for all classes which should be serializable for xml
Definition: IXmlSerializable.hpp:18
virtual void ReadXml(XmlReader &reader, XmlSerializationContext &context)=0
ReadXML must be implemented by all classes which should read its context from xml files
IXmlSerializable(void)=default
Constructs an IXmlSerializable instance.
virtual ~IXmlSerializable(void)=default
Copy constructor.
Class to read an XML File. Non buffered reader, can only read forward
Definition: XmlReader.hpp:26
XML context used during XML reading and writing to hold the context information
Definition: XmlSerializationContext.hpp:27
Class to write an XML File
Definition: XmlWriter.hpp:19
Root namespace for the PLCnext API