8#include "Arp/System/Commons/Configuration/TicReader.hpp"
9#include "Arp/System/Commons/Configuration/TicSerializationContext.hpp"
10namespace Arp {
namespace System {
namespace Commons {
namespace Configuration
14template<
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);
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Definition: TicConfigDocument.hxx:16
TicConfigDocument(ContentPtr contentPtr=nullptr)
Constructs an TicConfigDocument instance.
Definition: TicConfigDocument.hxx:49
~TicConfigDocument(void)=default
Destructs this instance and frees all resouces.
Definition: TicReader.hpp:23
Definition: TicSerializationContext.hpp:19
void ReadStartElement(const char *elementName=nullptr)
reads to the next element and test if this is a start element with the given name
Definition: XmlReader.cpp:566
void ReadEndElement(void)
reads until the next end element is reached skips over an empty element
Definition: XmlReader.cpp:687
Root namespace for the PLCnext API