PLCnext API Documentation  22.9.0.33
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Arp::System::Nm Namespace Reference

Namespace for the NotificationManager More...

Namespaces

 Services
 Namespace for services of the NotificationManager
 

Classes

class  FutureBase
 Base class with common behavior for Future<T> and Future<void> More...
 
class  Future
 Future object as proxy for return value an asynchronous function call More...
 
class  Future< void >
 Future object as proxy for return value an asynchronous function call More...
 
class  GenericPayload
 Generic access to a IPayload More...
 
class  IdType
 Representation of an unique id More...
 
class  INonBlockingNotificationSending
 Interface for non blocking sending of Notifications More...
 
class  NonBlockingNotificationSendingAdapter
 Adapter for INonBlockingNotificationSending with additional functions More...
 
class  INotificationManagerInfo
 Interface for information about the Notification Manager More...
 
class  INotificationReceiving
 Interface for subscribers of Notifications More...
 
class  INotificationSending
 Interface for sending of notifications More...
 
class  INotificationSubscriber
 Interface for subscribers of Notifications More...
 
class  IPayload
 Interface for Paylo objects More...
 
class  NmSubscribeFailedPayload
 Payload base class for failed subscriptions More...
 
class  NmSubscribeToNotRegisteredPayload
 Payload class for subscribing to a not registered Notification More...
 
class  NmSubscribeToUnregisteredPayload
 Payload class for subscribing to an unregistered Notification More...
 
class  NonBlockingNotificationRegistration
 Proxy object for a non-blocking NotificationRegistration More...
 
class  NonBlockingNotificationRegistration3Base
 Internal class for pimpl pattern More...
 
class  NonBlockingNotificationRegistration3
 Proxy object for a non-blocking NotificationRegistration More...
 
class  NonBlockingNotificationRegistration3ArgumentsBufferBase
 Internal base class for ArgumentsBuffer More...
 
class  NonBlockingNotificationRegistration3ArgumentsBuffer
 
class  Notification
 Contains meta data and paylod of a Notification More...
 
class  NotificationManager
 Primary access to the NotificationManager More...
 
class  NotificationRegistrationBase
 Base class with common behavior of NotificationRegistration and NonBlockingNotificationRegistration More...
 
class  NotificationRegistration
 Proxy object for a NotificationRegistration More...
 
class  NotificationRegistrationInfo
 Information about the registration of a Notification More...
 
class  NotificationSubscriber
 Proxy class for an subscriber of notifications More...
 
class  SpecializedPayload
 Base class for custom Payload classes More...
 
class  SpecializedPayloadHelper
 Helper class to get access to INotificationManagerInfo More...
 
class  StringPayload
 Payload class to send a String More...
 
class  LongStringPayloadField
 

Typedefs

using NotificationIdType = IdType< Arp::uint64, struct NotificationIdTag >
 type for Notification ids More...
 
using NotificationNameIdType = IdType< Arp::uint32, struct NotificationNameIdTag >
 type for Notification name ids More...
 
using NotificationNameIdList = std::vector< NotificationNameIdType >
 collection of Notification name ids More...
 
using PayloadTypeIdType = IdType< Arp::uint16, struct PayloadTypeIdTag >
 type for Payload type ids More...
 
using RawPayloadType = std::vector< Arp::System::Rsc::Services::RscVariant< RawPayloadTypeLength > >
 type for the internally transferred payloads More...
 
using NotificationDispatcherIdType = IdType< Arp::uint16, struct NotificationDispatcherIdTag >
 type for the Notification dispatcher ids More...
 

Enumerations

enum class  NotificationRegistrationStatus : uint8 { Subscribed = 0 , Registered = 1 , Unregistered = 2 }
 Enumeration to represent the status of the Notification More...
 
enum class  Severity : uint8 {
  Internal = 0 , Info = 1 , Warning = 2 , Error = 3 ,
  Critical = 4 , Fatal = 5 , Emerge = 6 , Default = 0
}
 Enumeration of Severities for notifications More...
 

Functions

template<typename T , typename TypeTag >
std::ostream & operator<< (std::ostream &os, const Arp::System::Nm::IdType< T, TypeTag > &id)
 
template<typename IdType >
std::vector< typename IdType::type > ConvertIdTypesToRawIds (const std::vector< IdType > &ids)
 Converts a vector of IdType to a vector of the underlying type More...
 
template<typename IdType >
std::vector< IdTypeConvertRawIdsToIdTypes (const std::vector< typename IdType::type > &ids)
 Converts a vector of underlying ids to a vector of IdType More...
 
ARP_CXX_SYMBOL_EXPORT std::ostream & operator<< (std::ostream &os, NotificationRegistrationStatus value)
 
ARP_CXX_SYMBOL_EXPORT std::istream & operator>> (std::istream &is, NotificationRegistrationStatus &value)
 
template<typename T , int N>
rscvariant_cast (const Rsc::Services::RscVariant< N > &value)
 Casts an RscVariant to T More...
 
ARP_CXX_SYMBOL_EXPORT std::ostream & operator<< (std::ostream &os, Severity value)
 
ARP_CXX_SYMBOL_EXPORT std::istream & operator>> (std::istream &is, Severity &value)
 

Variables

constexpr int RawPayloadTypeLength = 512
 length of payload fields More...
 

Detailed Description

Namespace for the NotificationManager

Typedef Documentation

◆ NotificationDispatcherIdType

using Arp::System::Nm::NotificationDispatcherIdType = typedef IdType<Arp::uint16, struct NotificationDispatcherIdTag>

type for the Notification dispatcher ids

◆ NotificationIdType

using Arp::System::Nm::NotificationIdType = typedef IdType<Arp::uint64, struct NotificationIdTag>

type for Notification ids

◆ NotificationNameIdList

collection of Notification name ids

◆ NotificationNameIdType

using Arp::System::Nm::NotificationNameIdType = typedef IdType<Arp::uint32, struct NotificationNameIdTag>

type for Notification name ids

◆ PayloadTypeIdType

using Arp::System::Nm::PayloadTypeIdType = typedef IdType<Arp::uint16, struct PayloadTypeIdTag>

type for Payload type ids

◆ RawPayloadType

type for the internally transferred payloads

Enumeration Type Documentation

◆ NotificationRegistrationStatus

Enumeration to represent the status of the Notification

◆ Severity

Enumeration of Severities for notifications

Function Documentation

◆ ConvertIdTypesToRawIds()

template<typename IdType >
std::vector<typename IdType::type> Arp::System::Nm::ConvertIdTypesToRawIds ( const std::vector< IdType > &  ids)

Converts a vector of IdType to a vector of the underlying type

This function is used to enable RSC calls with a list of Ids.

◆ ConvertRawIdsToIdTypes()

template<typename IdType >
std::vector<IdType> Arp::System::Nm::ConvertRawIdsToIdTypes ( const std::vector< typename IdType::type > &  ids)

Converts a vector of underlying ids to a vector of IdType

This function is used to enable RSC calls with a list of Ids.

◆ rscvariant_cast()

template<typename T , int N>
T Arp::System::Nm::rscvariant_cast ( const Rsc::Services::RscVariant< N > &  value)

Casts an RscVariant to T

Variable Documentation

◆ RawPayloadTypeLength

constexpr int Arp::System::Nm::RawPayloadTypeLength = 512
constexpr

length of payload fields