8 #include "Arp/System/Commons/Configuration/TicReader.hpp" 9 #include "Arp/System/Commons/Configuration/TicSerializationContext.hpp" 10 namespace Arp {
namespace System {
namespace Commons {
namespace Configuration
14 template<
class TContent>
18 typedef TContent Content;
19 typedef typename TContent::Ptr ContentPtr;
20 typedef std::shared_ptr<TicConfigDocument<TContent>> Ptr;
29 const String& GetDocumentFilename(
void)
const;
30 ContentPtr GetContent(
void);
33 void Load(
const String& filename);
42 ContentPtr contentPtr;
50 : contentPtr(contentPtrArg)
53 if (this->contentPtr ==
nullptr)
55 this->contentPtr = ContentPtr(
new Content());
62 return this->contentPtr;
68 return this->documentFilename;
74 TicReader reader = TicReader::Create(filename);
77 this->documentFilename = filename;
78 context.SetFilePath(filename);
83 context.ReadDocumentContext(reader);
85 this->contentPtr->ReadTic(reader, context);
Definition: TicSerializationContext.hpp:18
Definition: TicConfigDocument.hxx:15
TicConfigDocument(ContentPtr contentPtr=nullptr)
Constructs an TicConfigDocument instance.
Definition: TicConfigDocument.hxx:49
void ReadEndElement(void)
reads until the next end element is reached skips over an empty element
Definition: TicReader.hpp:22
Root namespace for the PLCnext API
void ReadStartElement(const char *elementName=nullptr)
reads to the next element and test if this is a start element with the given name ...
System components used by the System, Device, Plc or Io domains.
~TicConfigDocument(void)=default
Destructs this instance and frees all resouces.