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());
size_t AddField(FieldType type)
Adds a field with the given FieldType
Generic access to a IPayload
Definition: GenericPayload.hpp:18
Root namespace for the PLCnext API
System components used by the System, Device, Plc or Io domains.
Definition: LongStringPayloadField.hpp:16