11#include "Arp/System/Commons/Logging.h"
12#include "Arp/System/Nm/GenericPayload.hpp"
14namespace Arp {
namespace System {
namespace Nm
20 template<
typename PayloadType>
23 template<
typename PayloadType>
27 size_t GetFieldIndexBegin()
const;
28 size_t GetFieldCount()
const;
29 String GetFormatString()
const;
34 void CreatePayloadFieldsForString(
const String& str);
35 void AddStringFields(
size_t count);
36 void SetLongStringFieldValues(
const String& str);
37 static size_t GetNumberOfFieldForString(
const String& str);
38 static size_t FieldIndexToFormatStringIndex(
size_t fieldIndex);
42 const size_t fieldIndexBegin;
46template<
typename PayloadType>
47LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg,
const String& str)
48 : payload(payloadArg.payload),
49 fieldIndexBegin(payload.AddField(
Arp::System::Rsc::Services::GetRscType<size_t>()))
51 this->CreatePayloadFieldsForString(str);
52 this->SetLongStringFieldValues(str);
55template<
typename PayloadType>
56LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg)
57 : payload(payloadArg.payload),
58 fieldIndexBegin(payload.AddField(
Arp::System::Rsc::Services::GetRscType<size_t>()))
60 this->AddStringFields(this->GetFieldCount());
Generic access to a IPayload
Definition: GenericPayload.hpp:20
Definition: LongStringPayloadField.hpp:18
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API