9 #include "Arp/System/Nm/IPayload.hpp"
10 #include "Arp/System/Nm/Notification.hpp"
13 namespace 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 ValueType & GetFieldValue(size_t fieldIndex) const
Returns the raw value of a 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
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
Datatypes supported by Rsc. Values are identical with CommonRemoting::RemotingMarshalType....
Definition: RscType.hpp:37
Root namespace for the PLCnext API