PLCnext API Documentation  20.6.0.30321
MultiXmlConfigDocument.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/XmlConfigDocument.hpp"
9 #include <deque>
10 #include <list>
11 
12 namespace Arp { namespace System { namespace Commons { namespace Xml
13 {
14 
15 // TContent policy: implement IXmlSerializable and default contructable
24 {
25 public: // typedef
26  typedef XmlConfigDocument Base;
27  typedef std::deque<String> Files;
28  typedef std::list<String> IncludedFiles;
29 
30 public: // construction/destruction
34  MultiXmlConfigDocument(const String& documentXmlElementName, IXmlSerializable& content);
36  virtual ~MultiXmlConfigDocument(void) = default;
37 
38 public: // operations
39 
40  void AddFile(const String& path);
41 
42 protected: // overridden methods
43  void ReadDocument(XmlReader& reader)override;
44  // IncludedFiles ReadIncludeFiles(const String& documentPath);
45 
46 private: // methods
47 
48 private: // deleted methods
52  MultiXmlConfigDocument& operator=(const MultiXmlConfigDocument& arg) = delete;
53 
54 private: // fields
55  Files files;
56  IncludedFiles includedFiles;
57 
58 };
59 
61 // inline methods of class MultiXmlConfigDocument
62 inline MultiXmlConfigDocument::MultiXmlConfigDocument(const String& documentXmlNameArg, IXmlSerializable& contentArg)
63  : Base(documentXmlNameArg, contentArg)
64 {
65 }
66 
67 }}}} // end of namespace Arp::System::Commons::Xml
special version of XmlConfigDocument to include xml configuration data from other xml files inside a ...
Definition: MultiXmlConfigDocument.hpp:23
Interface for all classes which should be serializable for xml
Definition: IXmlSerializable.hpp:17
MultiXmlConfigDocument(const String &documentXmlElementName, IXmlSerializable &content)
Constructs an MultiXmlConfigDocument instance.
Definition: MultiXmlConfigDocument.hpp:62
Class handle xml configuration documents
Definition: XmlConfigDocument.hpp:19
Root namespace for the PLCnext API
Class to read an XML File. Non buffered reader, can only read forward
Definition: XmlReader.hpp:22
virtual ~MultiXmlConfigDocument(void)=default
Destructs this instance and frees all resouces.
System components used by the System, Device, Plc or Io domains.