8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/IoBuffer.hpp"
10#include "Arp/Plc/Meta/Commons/DataType.hpp"
11#include "Arp/Plc/Meta/Commons/Io/PortDefinition.hpp"
15namespace Arp::Io::Commons::Data
66 using ArrayDimensions = Arp::Plc::Meta::Commons::Io::PortDefinition::ArrayDimensions;
79 Endianness GetDefaultEndianness(
void)
const;
80 bool IsPlcRunning(
void)
const;
83 IoBuffer::Ptr GetSystemIoBuffer(
const String& bufferName);
84 bool TryGetSystemIoBuffer(
const String& bufferName, IoBuffer::Ptr& result);
85 IoBuffer::Ptr GetPlcIoBuffer(
const String& bufferName,
bool isChanging =
false);
86 bool TryGetPlcIoBuffer(
const String& bufferName, IoBuffer::Ptr& result,
bool isChanging =
false);
87 IoBuffer::Ptr CreateSystemIoBuffer(
const BufferInfo& bufferInfo);
88 IoBuffer::Ptr CreatePlcIoBuffer(
const BufferInfo& bufferInfo,
bool isChanging =
false);
91 void RegisterStatusVariable(
const String& name,
DataType dataType);
92 void RegisterStatusVariable(
const String& name,
DataType dataType,
const ArrayDimensions& dimensions);
93 void RegisterBitStatusVariable(
const String& name,
uint32 bitOffset);
94 byte* GetStatusVariableAddress(
const String& name)
const;
98 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 used to store and to manage fieldbus frame buffer objects.
Definition: DataManager.hpp:59
DataManager & operator=(DataManager &&arg) noexcept
Default move-assignment operator.
~DataManager(void)
Default destructor.
DataManager(DataManager &&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
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Namespace for interface types of the IO domain