8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/ITicSerializable.hpp"
10#include "Arp/Plc/Meta/Commons/Io/PortDefinition.hpp"
13namespace Arp::Io::Commons::Data
18namespace Arp::Io::Commons::Configuration
42 using RootPtr = std::shared_ptr<ITicSerializable>;
43 using ChildPtr = std::shared_ptr<ITicSerializable>;
44 using Roots = std::vector<RootPtr>;
46 using BufferInfos = std::vector<BufferInfo>;
48 using PortDefinitions = std::vector<PortDefinition>;
61 const Roots& GetRoots(
void)
const;
62 const BufferInfos& GetBufferInfos(
void)
const;
65 const PortDefinitions& GetPortDefinitions(
void)
const;
66 PortDefinitions GetPortDefinitions(
const String& bufferName)
const;
69 void Load(
const String& ticLinksPath);
72 virtual RootPtr CreateRoot(
const String& rootElementName);
73 virtual bool TryCreateCustomElement(
const String& elementName, ChildPtr& result);
77 const Impl& GetImpl(
void)
const;
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This class reads and stores a complete Tic hierarchy defined by a Tic links file.
Definition: TicConfiguration.hpp:37
virtual ~TicConfiguration(void)
Default destructor.
TicConfiguration & operator=(TicConfiguration &&arg) noexcept
Default move-assignment operator.
TicConfiguration(TicConfiguration &&arg) noexcept
Default move constructor.
This class is used to store buffer parameters which are be used to create io buffer objects.
Definition: BufferInfo.hpp:19