PLCnext API Documentation  21.0.0.35466
NmSubscribeFailedPayload.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 #pragma once
8 
9 #include "Arp/System/Nm/SpecializedPayload.hpp"
10 
11 
12 namespace Arp { namespace System { namespace Nm
13 {
14 
15 
17 template<typename Derived>
18 class NmSubscribeFailedPayload : public SpecializedPayload<NmSubscribeFailedPayload<Derived>>
19 {
20 private:
22 
23 protected:
24  using Base::Base;
25 
26  NmSubscribeFailedPayload(const String& formatString, const String& notificationName)
27  : Base(formatString)
28  {
29  this->SetFieldValue(this->indexNotificationName, notificationName);
30  }
31 
32 public:
35  {
36  return this->template GetFieldValueAs<String>(this->indexNotificationName);
37  }
38 
39 private: // fields
40  const size_t indexNotificationName = this->template AddField<String>();
41 };
42 
43 
49 {
50 public:
51  using NmSubscribeFailedPayload::NmSubscribeFailedPayload;
52 
53  explicit NmSubscribeToNotRegisteredPayload(const String& notificationName)
55  "A subscriber subscribed to not registered notification name: {}", notificationName)
56  {
57  }
58 };
59 
60 
66 {
67 public:
68  using NmSubscribeFailedPayload::NmSubscribeFailedPayload;
69 
70  explicit NmSubscribeToUnregisteredPayload(const String& notificationName)
72  "A subscriber subscribed to unregistered notification name: {}", notificationName)
73  {
74  }
75 };
76 
77 
78 }}} // end of namespace Arp::System::Nm
Payload class for subscribing to an unregistered Notification
Definition: NmSubscribeFailedPayload.hpp:64
void SetFieldValue(size_t fieldIndex, const T &value)
Sets the value of a payload field
Definition: SpecializedPayload.hpp:129
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:42
Root namespace for the PLCnext API
const String GetNotificationName() const
Returns the affected NotificationName
Definition: NmSubscribeFailedPayload.hpp:34
Payload base class for failed subscriptions
Definition: NmSubscribeFailedPayload.hpp:18
System components used by the System, Device, Plc or Io domains.
Payload class for subscribing to a not registered Notification
Definition: NmSubscribeFailedPayload.hpp:47