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