PLCnext API Documentation 25.0.2.69
AckConfPayload.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
7
9#include "Arp/System/Nm/SpecializedPayload.hpp"
10#include "Arp/Base/Rsc/Commons/RscVariant.hxx"
11#include "Arp/System/NmPayload/Alarms/AlarmState.hpp"
12#include <tuple>
13
14namespace Arp { namespace System { namespace NmPayload { namespace Alarms { namespace Internal
15{
16using namespace Arp::System::Nm;
17using namespace Arp::Base::Rsc::Commons;
18
19class AckConfPayload : public SpecializedPayload<AckConfPayload>
20{
21public: // construction/destruction
23 using ArgumentsType = std::tuple<const char*, const char*, const char*, const char*>;
24 explicit AckConfPayload(const ArgumentsType& args);
25
26 AckConfPayload(const String& alarmId, const String& comment, const String& language, const String& user);
27 explicit AckConfPayload(const Notification& notification);
28
29public: // operators
30public: // static operations
31public: // setter/getter operations
32 const String GetAlarmId() const;
33 const String GetComment() const;
34 const String GetLanguage() const;
35 const String GetUser() const;
36
37public: // operations
38protected: // operations
39private: // static methods
40private: // methods
41
42private: // fields
43 size_t indexAlarmId = this->AddField<String>();
44 size_t indexComment = this->AddField<String>();
45 size_t indexLanguage = this->AddField<String>();
46 size_t indexUser = this->AddField<String>();
47
48private: // static fields
49};
50
51}}}}} // namespace Arp::System::NmPayload::Alarms::Internal
52
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
std::tuple< const char *, const char *, const char *, const char * > ArgumentsType
ArgumentsType to be used with NonBlockingNotificationRegistration3
Definition: AckConfPayload.hpp:23
Contains meta data and paylod of a Notification
Definition: Notification.hpp:20
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:44
Namespace for the NotificationManager
Root namespace for the PLCnext API