PLCnext API Documentation 25.0.2.69
INotificationManagerService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include <vector>
11#include "Arp/Base/Rsc/Commons/RscString.hxx"
12#include "Arp/Base/Rsc/Commons/RscVariant.hxx"
13#include "Arp/System/Nm/Services/NotificationRegistrationInfo.hpp"
14#include "Arp/System/Nm/Services/NotificationRegistrationStatus.hpp"
15#include "Arp/System/Nm/Services/Severity.hpp"
16
17// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INotificationManagerService.cs
18
20{
21
22using namespace Arp::Base::Rsc::Commons;
23
32{
33public: // usings
34 using Ptr = std::shared_ptr<INotificationManagerService>;
35
36public: // construction/destruction
39
40public: // static policy operation
41 static IRscServiceProxyFactory& GetProxyFactory(void);
42
43public: // abstract operations
52 virtual uint32 RegisterNotification(const RscString<512>& notificationName, const RscString<512>& senderName, Severity severity, const RscString<512>& payloadTypeName) = 0;
53
58 virtual void UnregisterNotification(uint32 notificationNameId) = 0;
59
67 virtual uint64 SendNotification(uint32 notificationNameId, DateTime timestamp, const std::vector<RscVariant<512>>& payload) = 0;
68
74 virtual RscString<512> GetNotificationName(uint32 notificationNameId) = 0;
75
81 virtual uint32 GetNotificationNameId(const RscString<512>& notificationName) = 0;
82
88 virtual std::vector<uint32> GetNotificationNameIdsByStatus(NotificationRegistrationStatus status) = 0;
89
94 virtual std::vector<uint32> GetAllKnownNotificationNameIds() = 0;
95
102
108 virtual uint16 GetPayloadTypeId(const RscString<512>& payloadTypeName) = 0;
109
115 virtual RscString<512> GetPayloadTypeName(uint16 payloadTypeId) = 0;
116
122};
123
124} // end of namespace Arp::System::Nm::Services
This class contains date and time informations.
Definition: DateTime.hpp:27
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
Information about the registration of a Notification
Definition: NotificationRegistrationInfo.hpp:21
Service to send Notifications and query information about the NotificationManager
Definition: INotificationManagerService.hpp:32
virtual void UnregisterNotification(uint32 notificationNameId)=0
Unregisters a Nototification
virtual NotificationRegistrationInfo GetNotificationRegistration(uint32 notificationNameId)=0
Queries information about an Notification
virtual uint64 SendNotification(uint32 notificationNameId, DateTime timestamp, const std::vector< RscVariant< 512 > > &payload)=0
Sends a notification
virtual std::vector< uint32 > GetAllKnownNotificationNameIds()=0
Queries of all known NotificationNameIds
virtual uint32 RegisterNotification(const RscString< 512 > &notificationName, const RscString< 512 > &senderName, Severity severity, const RscString< 512 > &payloadTypeName)=0
Registers a new Notification
virtual uint16 GetPayloadTypeId(const RscString< 512 > &payloadTypeName)=0
Query an id for a given PayloadType
virtual std::vector< uint32 > GetNotificationNameIdsByStatus(NotificationRegistrationStatus status)=0
Queries the ids of Notifications with a given NotificationRegistrationStatus
virtual uint32 GetNotificationNameId(const RscString< 512 > &notificationName)=0
Queries the id of an NotificationName
virtual RscString< 512 > GetNotificationName(uint32 notificationNameId)=0
Queries the NotifictionName
virtual RscString< 512 > GetPayloadTypeName(uint16 payloadTypeId)=0
Query the payload type name of a given id
INotificationManagerService(void)=default
Constructs an INotificationManagerService instance.
virtual uint64 GetNumberOfSubmittedNotifications()=0
Returns the number of Notifications submitted since startup of the controller
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:37
Namespace for services of the NotificationManager
enum ARP_CXX_SYMBOL_EXPORT Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:14
enum ARP_CXX_SYMBOL_EXPORT NotificationRegistrationStatus
Enumeration to represent the status of the Notification
Definition: NotificationRegistrationStatus.hpp:14