PLCnext API Documentation  22.9.0.33
MessageWithArchiveNamePayload.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 #pragma once
8 
9 #include "Arp/System/Nm/SpecializedPayload.hpp"
10 #include <tuple>
11 
12 namespace Arp { namespace System { namespace NmPayload { namespace NotificationLogger
13 {
14 
17 class MessageWithArchiveNamePayload : public Arp::System::Nm::SpecializedPayload<MessageWithArchiveNamePayload>
18 {
19 public:
21  using ArgumentsType = std::tuple<const char*, const char*>;
22 
23  using SpecializedPayload::SpecializedPayload;
24 
27 
31  MessageWithArchiveNamePayload(const String& message, const String& archiveName);
32 
35 
36 private:
37  // Do not change the order of the field initialization!
38  const size_t indexArchiveName = this->AddField<String>();
39 };
40 
41 }}}} // namespace Arp::System::NmPayload::NotificationLogger
Payload class for a message containing an archive name
Definition: MessageWithArchiveNamePayload.hpp:18
std::tuple< const char *, const char * > ArgumentsType
ArgumentsType to be used with NonBlockingNotificationRegistration3
Definition: MessageWithArchiveNamePayload.hpp:21
MessageWithArchiveNamePayload(const String &message, const String &archiveName)
Creates a payload object
MessageWithArchiveNamePayload(const ArgumentsType &args)
Creates a payload object
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:43
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API