PLCnext API Documentation 25.0.2.69
NotificationRegistrationInfo.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Nm/NotificationManagerTypes.hpp"
9#include "Arp/System/Nm/Services/NotificationRegistrationStatus.hpp"
10#include "Arp/System/Nm/Services/Severity.hpp"
11#include "Arp/Base/Rsc/Commons/Rsc.hpp"
12#include "Arp/Base/Rsc/Commons/RscString.hxx"
13#include "Arp/Base/Rsc/Commons/RscSerializable.hpp"
14
15namespace Arp { namespace System { namespace Nm
16{
17
18
21{
22public:
24
26 NotificationNameIdType notificationNameId, const String& notificationName);
27
28
30 const String& notificationName, const String& senderName, Severity severity,
31 PayloadTypeIdType payloadTypeId, NotificationRegistrationStatus initialStatus);
32
33 // Methods of RscSerializable
34 void Serialize(Arp::Base::Rsc::Commons::Services::RscWriter& writer)const;
35 void Deserialize(Arp::Base::Rsc::Commons::Services::RscReader& reader);
36 static size_t GetFieldCount(void);
37
38 NotificationNameIdType GetNotificationNameId() const;
39 String GetNotificationName() const;
40 String GetSenderName() const;
41 Severity GetSeverity() const;
42 PayloadTypeIdType GetPayloadTypeId() const;
43 NotificationRegistrationStatus GetStatus() const;
44 bool IsSubscribed() const;
45 bool IsRegistered() const;
46 bool IsUnRegistered() const;
47
48 void SetStatusRegistered();
49 void SetStatusUnregistered();
50
51private:
52 NotificationNameIdType NotificationNameId;
55 Severity severity = Severity::Internal;
56 PayloadTypeIdType PayloadTypeId;
57 NotificationRegistrationStatus Status = NotificationRegistrationStatus::Subscribed;
58};
59
60}}} // namespace Arp::System::Nm
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Any custom struct type which is intended to be marshalled in a Rsc serialization context,...
Definition: RscSerializable.hpp:35
Reads marshaled data of RSC services.
Definition: RscReader.hpp:34
Writes marshalled data of RSC services.
Definition: RscWriter.hpp:34
Information about the registration of a Notification
Definition: NotificationRegistrationInfo.hpp:21
enum ARP_CXX_SYMBOL_EXPORT Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:14
enum ARP_CXX_SYMBOL_EXPORT NotificationRegistrationStatus
Enumeration to represent the status of the Notification
Definition: NotificationRegistrationStatus.hpp:14
Root namespace for the PLCnext API