PLCnext API Documentation 25.0.2.69
SecurityNotificationPayload.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
7
9#include "Arp/System/NmPayload/Security/SecurityNotificationInfo.hpp"
10#include "Arp/System/Nm/SpecializedPayload.hpp"
11#include "Arp/System/Nm/Notification.hpp"
12#include "Arp/System/Nm/LongStringPayloadField.hpp"
13
14namespace Arp { namespace System { namespace NmPayload { namespace Security
15{
16
21class ARP_CXX_SYMBOL_EXPORT SecurityNotificationPayload
22 : public Arp::System::Nm::SpecializedPayload<SecurityNotificationPayload>
23{
24public:
25 SecurityNotificationPayload(const String& message, const SecurityNotificationInfo& infoArg, String syslogFacility);
26 SecurityNotificationPayload(const String& message, const SecurityNotificationInfo& infoArg);
27 explicit SecurityNotificationPayload(const String& message);
30 const SecurityNotificationInfo& GetInfo() const;
31 String GetSyslogFacility() const;
32 String GetMessage() const;
33private:
34 String BuildFormatString() const;
35
36 // Do not change the order of the field initialization!
38 size_t fieldIndexSyslogFacility = this->AddField<String>();
41};
42
43}}}} // end of namespace Arp::System::NmPayload::Security
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Provides information fields for recipients The exact field keys and values are chosen by every specif...
Definition: SecurityNotificationInfo.hpp:15
Payload class to communicate security relevant events
Definition: SecurityNotificationPayload.hpp:23
Generic access to a IPayload
Definition: GenericPayload.hpp:20
Definition: LongStringPayloadField.hpp:19
Contains meta data and paylod of a Notification
Definition: Notification.hpp:20
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:44
Root namespace for the PLCnext API