PLCnext API Documentation  22.9.0.33
INotificationManagerService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include <vector>
9 #include "Arp/System/Nm/Services/NotificationManagerServiceProxyFactory.hpp"
10 #include "Arp/System/Nm/Services/NotificationRegistrationInfo.hpp"
11 #include "Arp/System/Nm/Services/NotificationRegistrationStatus.hpp"
12 #include "Arp/System/Nm/Services/Severity.hpp"
13 #include "Arp/System/Rsc/Services/IRscService.hpp"
14 #include "Arp/System/Rsc/Services/RscString.hxx"
15 #include "Arp/System/Rsc/Services/RscVariant.hxx"
16 
17 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INotificationManagerService.cs
18 
19 namespace Arp { namespace System { namespace Nm { namespace Services
20 {
21 
22 using namespace Arp;
23 using namespace Arp::System::Rsc::Services;
24 
30 {
31 public: // typedefs
32  using Ptr = std::shared_ptr<INotificationManagerService>;
33 
34 public: // construction/destruction
36  INotificationManagerService(void) = default;
37 
38 public: // static policy operation
39  static IRscServiceProxyFactory& GetProxyFactory(void);
40 
41 public: // abstract operations
50  virtual uint32 RegisterNotification(const RscString<512>& notificationName, const RscString<512>& senderName, Severity severity, const RscString<512>& payloadTypeName) = 0;
51 
56  virtual void UnregisterNotification(uint32 notificationNameId) = 0;
57 
65  virtual uint64 SendNotification(uint32 notificationNameId, DateTime timestamp, const std::vector<RscVariant<512>>& payload) = 0;
66 
72  virtual RscString<512> GetNotificationName(uint32 notificationNameId) = 0;
73 
79  virtual uint32 GetNotificationNameId(const RscString<512>& notificationName) = 0;
80 
86  virtual std::vector<uint32> GetNotificationNameIdsByStatus(NotificationRegistrationStatus status) = 0;
87 
92  virtual std::vector<uint32> GetAllKnownNotificationNameIds() = 0;
93 
100 
106  virtual uint16 GetPayloadTypeId(const RscString<512>& payloadTypeName) = 0;
107 
113  virtual RscString<512> GetPayloadTypeName(uint16 payloadTypeId) = 0;
114 
120 };
121 
123 // inline methods of class INotificationManagerService
124 inline IRscServiceProxyFactory& INotificationManagerService::GetProxyFactory()
125 {
126  return NotificationManagerServiceProxyFactory::GetInstance();
127 }
128 
129 }}}} // end of namespace Arp::System::Nm::Services
The class contains date and time informations.
Definition: DateTime.hpp:45
Information about the registration of a Notification
Definition: NotificationRegistrationInfo.hpp:22
Service to send Notifications and query information about the NotificationManager
Definition: INotificationManagerService.hpp:30
virtual RscString< 512 > GetNotificationName(uint32 notificationNameId)=0
Queries the NotifictionName
virtual void UnregisterNotification(uint32 notificationNameId)=0
Unregisters a Nototification
virtual NotificationRegistrationInfo GetNotificationRegistration(uint32 notificationNameId)=0
Queries information about an 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 std::vector< uint32 > GetNotificationNameIdsByStatus(NotificationRegistrationStatus status)=0
Queries the ids of Notifications with a given NotificationRegistrationStatus
virtual RscString< 512 > GetPayloadTypeName(uint16 payloadTypeId)=0
Query the payload type name of a given id
virtual uint64 SendNotification(uint32 notificationNameId, DateTime timestamp, const std::vector< RscVariant< 512 >> &payload)=0
Sends a notification
virtual uint16 GetPayloadTypeId(const RscString< 512 > &payloadTypeName)=0
Query an id for a given PayloadType
virtual uint32 GetNotificationNameId(const RscString< 512 > &notificationName)=0
Queries the id of an NotificationName
INotificationManagerService(void)=default
Constructs an INotificationManagerService instance.
virtual uint64 GetNumberOfSubmittedNotifications()=0
Returns the number of Notifications submitted since startup of the controller
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:39
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
@ System
System components used by the System, Device, Plc or Io domains.
Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:15
NotificationRegistrationStatus
Enumeration to represent the status of the Notification
Definition: NotificationRegistrationStatus.hpp:15
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API