8#include "Arp/System/Commons/Xml/XmlConfigDocument.hpp"
9#include "Arp/System/Commons/Diagnostics/Logging/Logger.hxx"
10#include "Arp/System/Commons/Configuration/ConfigurationSettings.hpp"
14namespace Arp {
namespace System {
namespace Commons {
namespace Xml
29 using Files = std::deque<String>;
30 using IncludedFiles = std::list<String>;
42 void AddFile(
const String& path);
59 void ReadDocument(
XmlReader& reader)
override;
62 IncludedFiles& GetIncludedFiles();
65 static bool ContainsFile(
const Files& files,
const String& file);
66 static bool ContainsFile(
const IncludedFiles& files,
const String& file);
80 IncludedFiles includedFiles;
86 :
Base(documentXmlNameArg, contentArg)
90inline MultiXmlConfigDocument::Files& MultiXmlConfigDocument::GetFiles()
94inline MultiXmlConfigDocument::IncludedFiles& MultiXmlConfigDocument::GetIncludedFiles()
96 return this->includedFiles;
Definition: ConfigurationSettings.hpp:14
Definition: Logger.hxx:19
Interface for all classes which should be serializable for xml
Definition: IXmlSerializable.hpp:18
special version of XmlConfigDocument to include xml configuration data from other xml files inside a ...
Definition: MultiXmlConfigDocument.hpp:26
void Load(const ConfigurationSettings &configSettings)
MultiXmlConfigDocument(const String &documentXmlElementName, IXmlSerializable &content)
Constructs an MultiXmlConfigDocument instance.
Definition: MultiXmlConfigDocument.hpp:85
bool TryLoad(const String &documentPath)
void Load(const String &documentPath)
Loads the document from specified <paramref="documentPath"/>
virtual ~MultiXmlConfigDocument(void)=default
Destructs this instance and frees all resouces.
Class handle xml configuration documents
Definition: XmlConfigDocument.hpp:21
XmlConfigDocument(const String &documentXmlElementName, IXmlSerializable &content)
Constructs an XmlConfigDocument instance.
Class to read an XML File. Non buffered reader, can only read forward
Definition: XmlReader.hpp:25
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API