PLCnext API Documentation  22.9.0.33
IPayload.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 #pragma once
8 
9 #include "Arp/System/Core/Arp.h"
10 #include "Arp/System/Nm/NotificationManagerTypes.hpp"
11 
12 
13 namespace Arp { namespace System { namespace Nm
14 {
15 
16 
18 class IPayload
19 {
20 public:
21  virtual ~IPayload() = default;
22 
24  virtual PayloadTypeIdType GetId() const = 0;
25 
27  virtual const String GetName() const = 0;
28 
31  virtual const RawPayloadType& GetAsRawPayloadType() const = 0;
32 
34  virtual const String ToString() const = 0;
35 };
36 
37 
38 }}} // end of namespace Arp::System::Nm
Interface for Paylo objects
Definition: IPayload.hpp:19
virtual const String ToString() const =0
Get a human readable string representation
virtual const RawPayloadType & GetAsRawPayloadType() const =0
Returns a reference to the raw payload object
virtual PayloadTypeIdType GetId() const =0
Returns the PayloadTypeId
virtual const String GetName() const =0
Returns the PayloadTypeName
@ System
System components used by the System, Device, Plc or Io domains.
std::vector< Arp::System::Rsc::Services::RscVariant< RawPayloadTypeLength > > RawPayloadType
type for the internally transferred payloads
Definition: NotificationManagerTypes.hpp:34
Root namespace for the PLCnext API