8#include "Arp/System/Commons/Logging.h" 
    9#include "Arp/System/Nm/GenericPayload.hpp" 
   10#include "Arp/Base/Rsc/Commons/RscTypeDeduction.hpp" 
   12namespace Arp { 
namespace System { 
namespace Nm
 
   15using Arp::Base::Rsc::Commons::RscType;
 
   21    template<
typename PayloadType>
 
   24    template<
typename PayloadType>
 
   28    size_t GetFieldIndexBegin() 
const;
 
   29    size_t GetFieldCount() 
const;
 
   30    String GetFormatString() 
const;
 
   35    void CreatePayloadFieldsForString(
const String& str);
 
   36    void AddStringFields(
size_t count);
 
   37    void SetLongStringFieldValues(
const String& str);
 
   38    static size_t GetNumberOfFieldForString(
const String& str);
 
   39    static size_t FieldIndexToFormatStringIndex(
size_t fieldIndex);
 
   43    const size_t fieldIndexBegin;
 
   47template<
typename PayloadType>
 
   48LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg, 
const String& str)
 
   49    : payload(payloadArg.payload),
 
   50      fieldIndexBegin(payload.AddField(
RscTypeDeduction::GetFrom(fieldIndexBegin)))
 
   52    this->CreatePayloadFieldsForString(str);
 
   53    this->SetLongStringFieldValues(str);
 
   56template<
typename PayloadType>
 
   57LongStringPayloadField::LongStringPayloadField(PayloadType& payloadArg)
 
   58    : payload(payloadArg.payload),
 
   59      fieldIndexBegin(payload.AddField(
RscTypeDeduction::GetFrom(fieldIndexBegin)))
 
   61    this->AddStringFields(this->GetFieldCount());
 
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
 
This class is used to deduct RSC types automatically by compilation.
Definition: RscTypeDeduction.hpp:24
 
Generic access to a IPayload
Definition: GenericPayload.hpp:20
 
Definition: LongStringPayloadField.hpp:19
 
Root namespace for the PLCnext API