PLCnext API Documentation 25.0.2.69
INonBlockingNotificationSending.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6
7#pragma once
8
9
10#include "Arp/System/Core/Arp.h"
11#include "Arp/System/Nm/Future.hpp"
12#include "Arp/System/Nm/INotificationSending.hpp"
13
14
15namespace Arp { namespace System { namespace Nm
16{
17
18
22class ARP_CXX_SYMBOL_EXPORT INonBlockingNotificationSending
23{
24public:
25 virtual ~INonBlockingNotificationSending() = default;
26
35 const String& notificationName, const String& senderName, Severity severity,
36 PayloadTypeIdType payloadTypeId) = 0;
37
42 NotificationNameIdType notificationNameId) = 0;
43
44
51 NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
52 const RawPayloadType& payload) = 0;
53
60 NotificationNameIdType notificationNameId, Arp::DateTime timestamp,
61 const IPayload& payload) = 0;
62};
63
64
65}}} // end of namespace Arp::System::Nm
This class contains date and time informations.
Definition: DateTime.hpp:27
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:144
Future object as proxy for return value an asynchronous function call
Definition: Future.hpp:68
Interface for non blocking sending of Notifications
Definition: INonBlockingNotificationSending.hpp:23
virtual Future< NotificationNameIdType > NonBlockingRegisterNotification(const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId)=0
Registers a new 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 RawPayloadType &payload)=0
Sends a notification (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
enum ARP_CXX_SYMBOL_EXPORT Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:14
std::vector< Arp::Base::Rsc::Commons::RscVariant< RawPayloadTypeLength > > RawPayloadType
type for the internally transferred payloads
Definition: NotificationManagerTypes.hpp:32
Root namespace for the PLCnext API