8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/ITicSerializable.hpp"
10#include "Arp/Plc/Meta/Commons/Io/PortDefinition.hpp"
11#include "Arp/Plc/Meta/Commons/Io/TypeDefinition.hpp"
14namespace Arp::Io::Commons::Data
19namespace Arp::Io::Commons::Configuration
43 using RootPtr = std::shared_ptr<ITicSerializable>;
44 using ChildPtr = std::shared_ptr<ITicSerializable>;
45 using Roots = std::vector<RootPtr>;
47 using BufferInfos = std::vector<BufferInfo>;
49 using PortDefinitions = std::vector<PortDefinition>;
51 using TypeDefinitions = std::vector<TypeDefinition>;
64 const Roots& GetRoots(
void)
const;
65 const BufferInfos& GetBufferInfos(
void)
const;
68 const PortDefinitions& GetPortDefinitions(
void)
const;
69 PortDefinitions GetPortDefinitions(
const String& bufferName)
const;
70 const TypeDefinitions& GetTypeDefinitions()
const;
73 void Load(
const String& ticLinksPath);
76 virtual RootPtr CreateRoot(
const String& rootElementName);
77 virtual bool TryCreateCustomElement(
const String& elementName, ChildPtr& result);
81 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:38
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