PLCnext API Documentation 25.0.2.69
NmSubscribeFailedPayload.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6
7#pragma once
8
10#include "Arp/System/Nm/SpecializedPayload.hpp"
11
12
13namespace Arp { namespace System { namespace Nm
14{
15
16
18template<typename Derived>
19class ARP_CXX_SYMBOL_EXPORT NmSubscribeFailedPayload : public SpecializedPayload<NmSubscribeFailedPayload<Derived>>
20{
21private:
23
24protected:
25 using Base::Base;
26
27 NmSubscribeFailedPayload(const String& formatString, const String& notificationName)
28 : Base(formatString)
29 {
30 this->SetFieldValue(this->indexNotificationName, notificationName);
31 }
32
33public:
36 {
37 return this->template GetFieldValueAs<String>(this->indexNotificationName);
38 }
39
40private: // fields
41 const size_t indexNotificationName = this->template AddField<String>();
42};
43
44
50{
51public:
52 using NmSubscribeFailedPayload::NmSubscribeFailedPayload;
53
54 explicit NmSubscribeToNotRegisteredPayload(const String& notificationName)
56 "A subscriber subscribed to not registered notification name: {}", notificationName)
57 {
58 }
59};
60
61
67{
68public:
69 using NmSubscribeFailedPayload::NmSubscribeFailedPayload;
70
71 explicit NmSubscribeToUnregisteredPayload(const String& notificationName)
73 "A subscriber subscribed to unregistered notification name: {}", notificationName)
74 {
75 }
76};
77
78
79}}} // end of namespace Arp::System::Nm
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Payload base class for failed subscriptions
Definition: NmSubscribeFailedPayload.hpp:20
const String GetNotificationName() const
Returns the affected NotificationName
Definition: NmSubscribeFailedPayload.hpp:35
Payload class for subscribing to a not registered Notification
Definition: NmSubscribeFailedPayload.hpp:50
Payload class for subscribing to an unregistered Notification
Definition: NmSubscribeFailedPayload.hpp:67
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:44
Root namespace for the PLCnext API