PLCnext API Documentation  21.0.0.35466
NonBlockingNotificationSendingAdapter.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 
8 #pragma once
9 
10 
11 #include "Arp/System/Nm/INonBlockingNotificationSending.hpp"
12 
13 
14 namespace Arp { namespace System { namespace Nm
15 {
16 
17 class NotificationManager;
18 
19 
25 {
26 public:
28 
30  const String& senderName, Severity severity, PayloadTypeIdType payloadTypeId) override;
31 
32  void NonBlockingRegisterNotification(const String& notificationName, const String& senderName,
33  Severity severity, PayloadTypeIdType payloadTypeId, Future<NotificationNameIdType> result);
34 
36  NotificationNameIdType notificationNameId) override;
37 
39  NotificationNameIdType notificationNameId, Future<void> result);
40 
42  NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
43  const RawPayloadType& payload) override;
44 
46  NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
47  const IPayload& payload) override;
48 
50  Arp::DateTime timestamp, std::function<RawPayloadType()> createPayloadFunctor,
52 
53 private:
55 };
56 
57 }}} // namespace Arp::System::Nm
Interface for non blocking sending of Notifications
Definition: INonBlockingNotificationSending.hpp:21
Future< NotificationIdType > NonBlockingSendNotification(NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const RawPayloadType &payload) override
Sends a notification (non-blocking)
Future< void > NonBlockingUnregisterNotification(NotificationNameIdType notificationNameId) override
Unregisters a Nototification (non-blocking)
Interface for Paylo objects
Definition: IPayload.hpp:18
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:191
The class contains date and time informations.
Definition: DateTime.hpp:44
std::vector< Arp::System::Rsc::Services::RscVariant< RawPayloadTypeLength > > RawPayloadType
type for the internally transferred payloads
Definition: NotificationManagerTypes.hpp:34
Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:15
Root namespace for the PLCnext API
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:114
Future< NotificationNameIdType > NonBlockingRegisterNotification(const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId) override
Registers a new Notification (non-blocking)
System components used by the System, Device, Plc or Io domains.
Adapter for INonBlockingNotificationSending with additional functions
Definition: NonBlockingNotificationSendingAdapter.hpp:24
Primary access to the NotificationManager
Definition: NotificationManager.hpp:43