PLCnext API Documentation  22.9.0.33
INotificationSending.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/IPayload.hpp"
11 #include "Arp/System/Nm/NotificationManagerTypes.hpp"
12 #include "Arp/System/Nm/Severity.hpp"
13 
14 
15 namespace Arp { namespace System { namespace Nm
16 {
17 
18 
21 {
22 public:
23  virtual ~INotificationSending() = default;
24 
32  virtual NotificationNameIdType RegisterNotification(const String& notificationName,
33  const String& senderName, Severity severity, PayloadTypeIdType payloadTypeId) = 0;
34 
37  virtual void UnregisterNotification(NotificationNameIdType notificationNameId) = 0;
38 
45  Arp::DateTime timestamp, const RawPayloadType& payload) = 0;
46 
53  Arp::DateTime timestamp, const IPayload& payload) = 0;
54 };
55 
56 
57 }}} // end of namespace Arp::System::Nm
The class contains date and time informations.
Definition: DateTime.hpp:45
Interface for sending of notifications
Definition: INotificationSending.hpp:21
virtual NotificationIdType SendNotification(NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const IPayload &payload)=0
Sends a notification
virtual void UnregisterNotification(NotificationNameIdType notificationNameId)=0
Unregisters a Nototification
virtual NotificationIdType SendNotification(NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const RawPayloadType &payload)=0
Sends a notification
virtual NotificationNameIdType RegisterNotification(const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId)=0
Registers a new Notification
Interface for Paylo objects
Definition: IPayload.hpp:19
@ System
System components used by the System, Device, Plc or Io domains.
Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:15
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