PLCnext API Documentation  22.9.0.33
INonBlockingNotificationSending.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 #pragma once
8 
9 
10 #include "Arp/System/Nm/Future.hpp"
11 #include "Arp/System/Nm/INotificationSending.hpp"
12 
13 
14 namespace Arp { namespace System { namespace Nm
15 {
16 
17 
22 {
23 public:
24  virtual ~INonBlockingNotificationSending() = default;
25 
34  const String& notificationName, const String& senderName, Severity severity,
35  PayloadTypeIdType payloadTypeId) = 0;
36 
41  NotificationNameIdType notificationNameId) = 0;
42 
43 
50  NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
51  const RawPayloadType& payload) = 0;
52 
59  NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
60  const IPayload& payload) = 0;
61 };
62 
63 
64 }}} // end of namespace Arp::System::Nm
The class contains date and time informations.
Definition: DateTime.hpp:45
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:191
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:114
Interface for non blocking sending of Notifications
Definition: INonBlockingNotificationSending.hpp:22
virtual Future< NotificationNameIdType > NonBlockingRegisterNotification(const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId)=0
Registers a new Notification (non-blocking)
virtual Future< NotificationIdType > NonBlockingSendNotification(NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const RawPayloadType &payload)=0
Sends a notification (non-blocking)
virtual Future< void > NonBlockingUnregisterNotification(NotificationNameIdType notificationNameId)=0
Unregisters a Nototification (non-blocking)
virtual Future< NotificationIdType > NonBlockingSendNotification(NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const IPayload &payload)=0
Sends a notification (non-blocking)
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