9#include "Arp/System/Nm/IPayload.hpp"
10#include "Arp/System/Nm/Notification.hpp"
13namespace Arp {
namespace System {
namespace Nm
21 using ValueType = RawPayloadType::value_type;
25 using FieldInfos = std::vector<FieldType>;
74 void SetFieldValue(
size_t fieldIndex,
const ValueType& value);
77 void InitializeFields();
78 bool HasAssociatedNotification()
const;
79 bool CanFieldBeAdded()
const;
80 const String FormatValue(
const String& formatString,
const ValueType& value)
const;
88 size_t FieldIndexFormatString = 0;
Generic access to a IPayload
Definition: GenericPayload.hpp:19
size_t GetFieldCount() const
Returns the number of fields of the Payload
bool IsReadOnly() const
Returns true if this object is a view to a Notification
FieldType GetFieldType(size_t fieldIndex) const
Returns the FieldType for the given field
const String GetName() const override
Returns the PayloadTypeName
const RawPayloadType & GetAsRawPayloadType() const override
Returns a reference to the raw payload object
GenericPayload(const Notification ¬ification)
Read only access to a notification
PayloadTypeIdType GetId() const override
Returns the PayloadTypeId
const String ToString() const override
Get a human readable string representation
GenericPayload(PayloadTypeIdType id, const String &name, const Notification ¬ification)
Manually create a payload
size_t GetFieldIndexFormatString() const
Returnsd the field index of the format string
GenericPayload(PayloadTypeIdType id, const String &name)
Manually create a payload
GenericPayload(PayloadTypeIdType id, const String &name, const RawPayloadType &payloadArg)
Manually create a payload
const ValueType & GetFieldValue(size_t fieldIndex) const
Returns the raw value of a field
size_t AddField(FieldType type)
Adds a field with the given FieldType
Interface for Paylo objects
Definition: IPayload.hpp:19
Contains meta data and paylod of a Notification
Definition: Notification.hpp:22
@ System
System components used by the System, Device, Plc or Io domains.
std::vector< Arp::System::Rsc::Services::RscVariant< RawPayloadTypeLength > > RawPayloadType
type for the internally transferred payloads
Definition: NotificationManagerTypes.hpp:34
RscType
Data types supported by RSC.
Definition: RscType.hpp:36
Root namespace for the PLCnext API