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;
32 void CreatePayloadFieldsForString(
const String& str);
33 void AddStringFields(
size_t count);
34 void SetLongStringFieldValues(
const String& str);
35 static size_t GetNumberOfFieldForString(
const String& str);
36 static size_t FieldIndexToFormatStringIndex(
size_t fieldIndex);
40 const size_t fieldIndexBegin;
44 template<
typename PayloadType>
45 LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg,
const String& str)
46 : payload(payloadArg.payload),
47 fieldIndexBegin(payload.AddField(Arp::System::Rsc::Services::GetRscType<size_t>()))
49 this->CreatePayloadFieldsForString(str);
50 this->SetLongStringFieldValues(str);
53 template<
typename PayloadType>
54 LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg)
55 : payload(payloadArg.payload),
56 fieldIndexBegin(payload.
AddField(Arp::System::Rsc::Services::GetRscType<size_t>()))
58 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