PLCnext API Documentation 25.0.2.69
Classes | Public Types | Public Member Functions | List of all members
Arp::System::Nm::NonBlockingNotificationSendingAdapter Class Reference

Adapter for INonBlockingNotificationSending with additional functions More...

#include <NonBlockingNotificationSendingAdapter.hpp>

Inheritance diagram for Arp::System::Nm::NonBlockingNotificationSendingAdapter:
Inheritance graph

Classes

struct  CreatePayloadFunctorArg
 

Public Types

using CreatePayloadFunctor = RawPayloadType(*)(CreatePayloadFunctorArg)
 

Public Member Functions

 NonBlockingNotificationSendingAdapter (NotificationManager &nm)
 
NotificationNameIdType RegisterNotification (const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId)
 
Future< NotificationNameIdTypeNonBlockingRegisterNotification (const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId) override
 Registers a new Notification (non-blocking) More...
 
void NonBlockingRegisterNotification (const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId, Future< NotificationNameIdType > result)
 
Future< void > NonBlockingUnregisterNotification (NotificationNameIdType notificationNameId) override
 Unregisters a Nototification (non-blocking) More...
 
void NonBlockingUnregisterNotification (NotificationNameIdType notificationNameId, Future< void > result)
 
Future< NotificationIdTypeNonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const RawPayloadType &payload) override
 Sends a notification (non-blocking) More...
 
Future< NotificationIdTypeNonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const IPayload &payload) override
 Sends a notification (non-blocking) More...
 
void NonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, std::function< RawPayloadType()> createPayloadFunctor, Future< NotificationIdType > result)
 
void NonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, CreatePayloadFunctor createPayloadFunctor, CreatePayloadFunctorArg createPayloadFunctorArg, Future< NotificationIdType > result)
 
virtual Future< NotificationNameIdTypeNonBlockingRegisterNotification (const String &notificationName, const String &senderName, Severity severity, PayloadTypeIdType payloadTypeId)=0
 Registers a new Notification (non-blocking) More...
 
virtual Future< void > NonBlockingUnregisterNotification (NotificationNameIdType notificationNameId)=0
 Unregisters a Nototification (non-blocking) More...
 
virtual Future< NotificationIdTypeNonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const RawPayloadType &payload)=0
 Sends a notification (non-blocking) More...
 
virtual Future< NotificationIdTypeNonBlockingSendNotification (NotificationNameIdType notificationNameId, Arp::DateTime timestamp, const IPayload &payload)=0
 Sends a notification (non-blocking) More...
 

Detailed Description

Adapter for INonBlockingNotificationSending with additional functions

This class adapts the interface INonBlockingNotificationSending to support additional functions of the NotificationManager. It is intended only to be used by NonBlockingNotificationRegistration.

Member Function Documentation

◆ NonBlockingRegisterNotification()

Future< NotificationNameIdType > Arp::System::Nm::NonBlockingNotificationSendingAdapter::NonBlockingRegisterNotification ( const String notificationName,
const String senderName,
Severity  severity,
PayloadTypeIdType  payloadTypeId 
)
overridevirtual

Registers a new Notification (non-blocking)

Parameters
notificationNamename of the notification (e.g. Arp.System.Nm.SomethingInterestingHappened)
senderNamename of the sender of the notification
severityseverity of the notification
payloadTypeIdid of the payload type
Returns
NotificationNameId (Future), necessary for sending and unregistering

Implements Arp::System::Nm::INonBlockingNotificationSending.

◆ NonBlockingSendNotification() [1/2]

Future< NotificationIdType > Arp::System::Nm::NonBlockingNotificationSendingAdapter::NonBlockingSendNotification ( NotificationNameIdType  notificationNameId,
Arp::DateTime  timestamp,
const IPayload payload 
)
overridevirtual

Sends a notification (non-blocking)

Parameters
notificationNameIdid of the NotificationName to send
timestampCurrent timestamp
payloadpayload to send
Returns
NotificationId (Future)

Implements Arp::System::Nm::INonBlockingNotificationSending.

◆ NonBlockingSendNotification() [2/2]

Future< NotificationIdType > Arp::System::Nm::NonBlockingNotificationSendingAdapter::NonBlockingSendNotification ( NotificationNameIdType  notificationNameId,
Arp::DateTime  timestamp,
const RawPayloadType payload 
)
overridevirtual

Sends a notification (non-blocking)

Parameters
notificationNameIdid of the NotificationName to send
timestampCurrent timestamp
payloadpayload to send
Returns
NotificationId (Future)

Implements Arp::System::Nm::INonBlockingNotificationSending.

◆ NonBlockingUnregisterNotification()

Future< void > Arp::System::Nm::NonBlockingNotificationSendingAdapter::NonBlockingUnregisterNotification ( NotificationNameIdType  notificationNameId)
overridevirtual

Unregisters a Nototification (non-blocking)

Parameters
notificationNameIdid of the NotificationName to unregister
Returns
Future to check for exceptions or completion

Implements Arp::System::Nm::INonBlockingNotificationSending.


The documentation for this class was generated from the following files: