10#include "Arp/System/Nm/NotificationManagerTypes.hpp" 
   11#include "Arp/System/Nm/Severity.hpp" 
   12#include "Arp/System/Commons/Diagnostics/Logging/Loggable.hxx" 
   14namespace Arp { 
namespace System { 
namespace Nm
 
   20template<
class Derived>
 
   23      NotificationRegistrationBase<Derived >>
 
   53    virtual 
void DisposeImpl() = 0;
 
   62template<class Derived>
 
   65    : NotificationName(
std::move(notificationName)),
 
   66      SenderName(
std::move(senderName)),
 
   67      severity(
std::move(severity))
 
   73template<
class Derived>
 
   82        this->log.Error(
"Caught exception while unregistering notificationName={}: {}",
 
   83                        this->NotificationName, e.
ToString());
 
   89template<
class Derived>
 
   92    return this->NotificationName;
 
   97template<
class Derived>
 
  100    return this->SenderName;
 
  105template<
class Derived>
 
  108    return this->severity;
 
  113template<
class Derived>
 
  116    return Derived::payload_type::GetPayloadTypeId();
 
This is the base class of all Arp exception classes.
Definition: Exception.hpp:21
 
String ToString(void) const
This operation should be used for logging and returns a reasonable description of the exception cause...
Definition: Exception.cpp:165
 
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
 
Derive from this class to inherit logging functionality.
Definition: Loggable.hxx:28
 
Base class with common behavior of NotificationRegistration and NonBlockingNotificationRegistration
Definition: NotificationRegistrationBase.hpp:24
 
Severity GetSeverity() const
Returns the Severity
Definition: NotificationRegistrationBase.hpp:106
 
String GetSenderName() const
Returns the sender name
Definition: NotificationRegistrationBase.hpp:98
 
PayloadTypeIdType GetPayloadTypeId() const
Returns the PayloadTypeId
Definition: NotificationRegistrationBase.hpp:114
 
String GetNotificationName() const
Returns the notification name
Definition: NotificationRegistrationBase.hpp:90
 
void Dispose() noexcept
Unregisters the Notification and release all resources
Definition: NotificationRegistrationBase.hpp:74
 
enum ARP_CXX_SYMBOL_EXPORT Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:14
 
Root namespace for the PLCnext API
 
Namespace of the C++ standard library