8 #include "Arp/System/Nm/NotificationManager.hpp" 9 #include "Arp/System/Nm/StringPayload.hpp" 10 #include "Arp/System/NmPayload/Alarms/Internal/AckConfPayload.hpp" 11 #include "Arp/System/NmPayload/Alarms/Internal/AlarmPayload.hpp" 14 namespace Arp {
namespace System {
namespace NmPayload {
namespace Alarms
17 constexpr
int NotificationQueueOverflowError = 100;
18 constexpr
int NotInitializedError = -1;
19 constexpr
int InvalidArgumentError = -2;
20 constexpr
int InvalidStateError = -2;
21 constexpr
int InvalidAlarmIdError = -2;
22 constexpr
int InvalidAlarmTypeError = -3;
115 int32 SubscribeAddAlarm(std::function<
void(
const AlarmState& alarmState)> handler);
122 int32 SubscribeNewAlarmState(std::function<
void(
const AlarmState& alarmState)> handler);
131 int32 SubscribeAcknowledge(std::function<
void(
const String& alarmId,
const String& comment,
const String& language,
const String& user)> handler);
140 int32 SubscribeConfirm(std::function<
void(
const String& alarmId,
const String& comment,
const String& language,
const String& user)> handler);
149 int32 SubscribeAddComment(std::function<
void(
const String& alarmId,
const String& comment,
const String& language,
const String& user)> handler);
152 void AddAlarmNotificationReceived(
const Notification& notification);
153 void NewStateNotificationReceived(
const Notification& notification);
154 void AcknowledgeNotificationReceived(
const Notification& notification);
155 void ConfirmNotificationReceived(
const Notification& notification);
156 void AddCommentNotificationReceived(
const Notification& notification);
160 mutable Mutex alarmsMutex;
175 std::function<void(const AlarmState& alarmState)> addAlarmHandler;
176 std::function<void(const AlarmState& alarmState)> newAlarmStateHandler;
177 std::function<void(const String& alarmId, const String& comment, const String& language, const String& user)> acknowledgeHandler;
178 std::function<void(const String& alarmId, const String& comment, const String& language, const String& user)> confirmHandler;
179 std::function<void(const String& alarmId, const String& comment, const String& language, const String& user)> addCommentHandler;
State with sub states of an alarm.
Definition: AlarmState.hpp:11
Contains meta data and paylod of a Notification
Definition: Notification.hpp:21
Mutual exclusion object to prevent data from concurrent modifications.
Definition: Mutex.hpp:25
Proxy object for a non-blocking NotificationRegistration
Definition: NonBlockingNotificationRegistration.hpp:32
Definition: AddAlarmPayload.hpp:11
Root namespace for the PLCnext API
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:37
Access class for the alarm server component.
Definition: AlarmAccess.hpp:45
System components used by the System, Device, Plc or Io domains.
Proxy class for an subscriber of notifications
Definition: NotificationSubscriber.hpp:27