PLCnext API Documentation  21.9.0.40
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::System::Nm::Services::INotificationManagerService Class Referenceabstract

Service to send Notifications and query information about the NotificationManager More...

#include <INotificationManagerService.hpp>

Inheritance diagram for Arp::System::Nm::Services::INotificationManagerService:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< INotificationManagerService >
 
- Public Types inherited from Arp::System::Rsc::Services::IRscService
typedef std::shared_ptr< IRscServicePtr
 

Public Member Functions

 INotificationManagerService (void)=default
 Constructs an INotificationManagerService instance. More...
 
virtual uint32 RegisterNotification (const RscString< 512 > &notificationName, const RscString< 512 > &senderName, Severity severity, const RscString< 512 > &payloadTypeName)=0
 Registers a new Notification More...
 
virtual void UnregisterNotification (uint32 notificationNameId)=0
 Unregisters a Nototification More...
 
virtual uint64 SendNotification (uint32 notificationNameId, DateTime timestamp, const std::vector< RscVariant< 512 >> &payload)=0
 Sends a notification More...
 
virtual RscString< 512 > GetNotificationName (uint32 notificationNameId)=0
 Queries the NotifictionName More...
 
virtual uint32 GetNotificationNameId (const RscString< 512 > &notificationName)=0
 Queries the id of an NotificationName More...
 
virtual std::vector< uint32GetNotificationNameIdsByStatus (NotificationRegistrationStatus status)=0
 Queries the ids of Notifications with a given NotificationRegistrationStatus More...
 
virtual std::vector< uint32GetAllKnownNotificationNameIds ()=0
 Queries of all known NotificationNameIds More...
 
virtual NotificationRegistrationInfo GetNotificationRegistration (uint32 notificationNameId)=0
 Queries information about an Notification More...
 
virtual uint16 GetPayloadTypeId (const RscString< 512 > &payloadTypeName)=0
 Query an id for a given PayloadType More...
 
virtual RscString< 512 > GetPayloadTypeName (uint16 payloadTypeId)=0
 Query the payload type name of a given id More...
 
virtual uint64 GetNumberOfSubmittedNotifications ()=0
 Returns the number of Notifications submitted since startup of the controller More...
 
- Public Member Functions inherited from Arp::System::Rsc::Services::IRscService
 IRscService (void)=default
 Constructs an IRscService instance. More...
 
virtual ~IRscService (void)=default
 Destructs this instance and frees all resouces. More...
 

Static Public Member Functions

static IRscServiceProxyFactory & GetProxyFactory (void)
 
- Static Public Member Functions inherited from Arp::System::Rsc::Services::IRscService
static IRscServiceProxyFactory & GetProxyFactory (void)
 Returns a reference to service proxy factory to create a proxy instance of the service More...
 

Detailed Description

Service to send Notifications and query information about the NotificationManager

Constructor & Destructor Documentation

◆ INotificationManagerService()

Arp::System::Nm::Services::INotificationManagerService::INotificationManagerService ( void  )
default

Constructs an INotificationManagerService instance.

Member Function Documentation

◆ GetAllKnownNotificationNameIds()

virtual std::vector<uint32> Arp::System::Nm::Services::INotificationManagerService::GetAllKnownNotificationNameIds ( )
pure virtual

Queries of all known NotificationNameIds

Returns
collection of all known NotificationNameIds

◆ GetNotificationName()

virtual RscString<512> Arp::System::Nm::Services::INotificationManagerService::GetNotificationName ( uint32  notificationNameId)
pure virtual

Queries the NotifictionName

Parameters
notificationNameIdNotificationNameId
Returns
NotificationName

◆ GetNotificationNameId()

virtual uint32 Arp::System::Nm::Services::INotificationManagerService::GetNotificationNameId ( const RscString< 512 > &  notificationName)
pure virtual

Queries the id of an NotificationName

Parameters
notificationNameNotificationName
Returns
NotificationNameId

◆ GetNotificationNameIdsByStatus()

virtual std::vector<uint32> Arp::System::Nm::Services::INotificationManagerService::GetNotificationNameIdsByStatus ( NotificationRegistrationStatus  status)
pure virtual

Queries the ids of Notifications with a given NotificationRegistrationStatus

Parameters
statusstatus of the queried Notifications
Returns
collection of matching NotificationNameIds

◆ GetNotificationRegistration()

virtual NotificationRegistrationInfo Arp::System::Nm::Services::INotificationManagerService::GetNotificationRegistration ( uint32  notificationNameId)
pure virtual

Queries information about an Notification

Parameters
notificationNameIdNotificationNameId
Returns
data structure to describe the Notification

◆ GetNumberOfSubmittedNotifications()

virtual uint64 Arp::System::Nm::Services::INotificationManagerService::GetNumberOfSubmittedNotifications ( )
pure virtual

Returns the number of Notifications submitted since startup of the controller

Returns
number of submitted notifications

◆ GetPayloadTypeId()

virtual uint16 Arp::System::Nm::Services::INotificationManagerService::GetPayloadTypeId ( const RscString< 512 > &  payloadTypeName)
pure virtual

Query an id for a given PayloadType

Parameters
payloadTypeNameName fo the payload type
Returns
id of the payload type

◆ GetPayloadTypeName()

virtual RscString<512> Arp::System::Nm::Services::INotificationManagerService::GetPayloadTypeName ( uint16  payloadTypeId)
pure virtual

Query the payload type name of a given id

Parameters
payloadTypeIdid of the payload type
Returns
name of the payload type

◆ RegisterNotification()

virtual uint32 Arp::System::Nm::Services::INotificationManagerService::RegisterNotification ( const RscString< 512 > &  notificationName,
const RscString< 512 > &  senderName,
Severity  severity,
const RscString< 512 > &  payloadTypeName 
)
pure virtual

Registers a new Notification

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

◆ SendNotification()

virtual uint64 Arp::System::Nm::Services::INotificationManagerService::SendNotification ( uint32  notificationNameId,
DateTime  timestamp,
const std::vector< RscVariant< 512 >> &  payload 
)
pure virtual

Sends a notification

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

◆ UnregisterNotification()

virtual void Arp::System::Nm::Services::INotificationManagerService::UnregisterNotification ( uint32  notificationNameId)
pure virtual

Unregisters a Nototification

Parameters
notificationNameIdid of the NotificationName to unregister

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