PLCnext API Documentation  21.0.0.35466
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
virtual const String GetName() const =0
Returns the PayloadTypeName
Interface for Paylo objects
Definition: IPayload.hpp:18
virtual PayloadTypeIdType GetId() const =0
Returns the PayloadTypeId
std::vector< Arp::System::Rsc::Services::RscVariant< RawPayloadTypeLength > > RawPayloadType
type for the internally transferred payloads
Definition: NotificationManagerTypes.hpp:34
virtual const RawPayloadType & GetAsRawPayloadType() const =0
Returns a reference to the raw payload object
Root namespace for the PLCnext API
virtual const String ToString() const =0
Get a human readable string representation
System components used by the System, Device, Plc or Io domains.