10 #include "Arp/System/Commons/Logging.h"
11 #include "Arp/System/Nm/GenericPayload.hpp"
13 namespace Arp {
namespace System {
namespace Nm
19 template<
typename PayloadType>
22 template<
typename PayloadType>
26 size_t GetFieldIndexBegin()
const;
27 size_t GetFieldCount()
const;
28 String GetFormatString()
const;
33 void CreatePayloadFieldsForString(
const String& str);
34 void AddStringFields(
size_t count);
35 void SetLongStringFieldValues(
const String& str);
36 static size_t GetNumberOfFieldForString(
const String& str);
37 static size_t FieldIndexToFormatStringIndex(
size_t fieldIndex);
41 const size_t fieldIndexBegin;
45 template<
typename PayloadType>
46 LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg,
const String& str)
47 : payload(payloadArg.payload),
48 fieldIndexBegin(payload.AddField(
Arp::
System::Rsc::Services::GetRscType<size_t>()))
50 this->CreatePayloadFieldsForString(str);
51 this->SetLongStringFieldValues(str);
54 template<
typename PayloadType>
55 LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg)
56 : payload(payloadArg.payload),
57 fieldIndexBegin(payload.AddField(
Arp::
System::Rsc::Services::GetRscType<size_t>()))
59 this->AddStringFields(this->GetFieldCount());
Generic access to a IPayload
Definition: GenericPayload.hpp:19
Definition: LongStringPayloadField.hpp:17
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API