PLCnext API Documentation  22.9.0.33
ConfigSettings.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Commons/Xml/IXmlSerializable.hpp"
9 #include <list>
10 
11 namespace Arp { namespace System { namespace Commons { namespace Configuration
12 {
13 
14 using namespace Arp::System::Commons::Xml;
15 
17 {
18 public: // construction/destruction
20  ConfigSettings(void) = default;
22  ConfigSettings(const ConfigSettings& arg) = default;
24  ConfigSettings& operator=(const ConfigSettings& arg) = default;
26  ~ConfigSettings(void) = default;
27 
28 public: // static fields
29  static const char* XmlElementName;
30 
31 public: // getter/setter
32  const String& GetPath(void)const;
33 
34 public: // IXmlSerializable operations
35  void ReadXml(XmlReader& reader, XmlSerializationContext& context)override;
36  void WriteXml(XmlWriter& writer, XmlSerializationContext& context)override;
37 
38 protected: // fields
39  String path;
40 };
41 
43 // inline methods of class ConfigSettings
44 
45 inline const String& ConfigSettings::GetPath(void)const
46 {
47  return this->path;
48 }
49 
50 }}}} // end of namespace Arp::System::Commons::Configuration
void ReadXml(XmlReader &reader, XmlSerializationContext &context) override
ReadXML must be implemented by all classes which should read its context from xml files
~ConfigSettings(void)=default
Destructs this instance and frees all resources.
ConfigSettings & operator=(const ConfigSettings &arg)=default
Assignment operator.
ConfigSettings(const ConfigSettings &arg)=default
Copy constructor.
ConfigSettings(void)=default
Constructs an ConfigSettings instance.
Interface for all classes which should be serializable for xml
Definition: IXmlSerializable.hpp:18
Class to read an XML File. Non buffered reader, can only read forward
Definition: XmlReader.hpp:25
XML context used during XML reading and writing to hold the context information
Definition: XmlSerializationContext.hpp:26
Class to write an XML File
Definition: XmlWriter.hpp:21
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes to read XML files
Definition: ConfigHeader.hpp:12
Root namespace for the PLCnext API