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 >>
60 virtual
void DisposeImpl() = 0;
69template<class Derived>
72 : NotificationName(
std::move(notificationName)),
73 SenderName(
std::move(senderName)),
74 severity(
std::move(severity))
79template<
class Derived>
88 this->log.Error(
"Caught exception while unregistering notificationName={}: {}",
89 this->NotificationName, e.
ToString());
94 "Caught exception while unregistering notificationName={}", this->NotificationName);
99template<
class Derived>
102 return this->NotificationName;
106template<
class Derived>
109 return this->SenderName;
113template<
class Derived>
116 return this->severity;
120template<
class Derived>
123 return Derived::payload_type::GetPayloadTypeId();
This is the base class of all Arp exception classes.
Definition: Exception.hpp:16
String ToString(void) const
Gets a reasonable string representation of this exception.
Definition: Loggable.hxx:19
Base class with common behavior of NotificationRegistration and NonBlockingNotificationRegistration
Definition: NotificationRegistrationBase.hpp:24
const String GetSenderName() const
Returns the sender name
Definition: NotificationRegistrationBase.hpp:107
Severity GetSeverity() const
Returns the Severity
Definition: NotificationRegistrationBase.hpp:114
PayloadTypeIdType GetPayloadTypeId() const
Returns the PayloadTypeId
Definition: NotificationRegistrationBase.hpp:121
virtual NotificationNameIdType GetNotificationNameId() const =0
Returns the notification name id
const String GetNotificationName() const
Returns the notification name
Definition: NotificationRegistrationBase.hpp:100
void Dispose() noexcept
Unregisters the Notification and release all resources
Definition: NotificationRegistrationBase.hpp:80
@ System
System components used by the System, Device, Plc or Io domains.
Severity
Enumeration of Severities for notifications
Definition: Severity.hpp:15
Root namespace for the PLCnext API
Namespace of the C++ standard library