8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/TicBase.hpp"
10#include "Arp/Plc/Meta/Commons/Io/PortDefinition.hpp"
12namespace Arp::Io::Commons::Configuration
33 using Ptr = std::shared_ptr<TicPort>;
34 using ConstPtr = std::shared_ptr<const TicPort>;
51 static const char* GetTicElementName(
void);
54 NodeID GetNodeID(
void)
const noexcept;
55 const String& GetName(
void)
const noexcept;
56 DataType GetDataType(
void)
const noexcept;
57 BitSize GetLength(
void)
const noexcept;
58 BitSize GetOffset(
void)
const noexcept;
61 bool TryReadAttribute(
TicReader& reader,
const String& attributeName)
final;
62 bool TryCreateElement(
const String& elementName, ChildPtr& result)
final;
63 void OnReadEnd(
void)
override;
70 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 is the base class for all predefined Tic elements.
Definition: TicBase.hpp:42
This class is used to read and store a single Tic port element called IO:Port.
Definition: TicPort.hpp:28
TicPort(TicPort &&arg) noexcept
Default move constructor.
~TicPort(void) override
Default destructor.
TicPort(void)
Default constructor.
TicPort & operator=(TicPort &&arg) noexcept
Default move-assignment operator.
This class is used to read the content of Tic files.
Definition: TicReader.hpp:24
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33