PLCnext API Documentation 25.0.2.69
StorageFileFormatMigrationPayload.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6
7#pragma once
8
10#include "Arp/System/Nm/SpecializedPayload.hpp"
11#include "Arp/System/NmPayload/NotificationLogger/StorageFileFormatMigrationResult.hpp"
12#include <tuple>
13
14namespace Arp { namespace System { namespace NmPayload { namespace NotificationLogger
15{
16
19class ARP_CXX_SYMBOL_EXPORT StorageFileFormatMigrationPayload : public Arp::System::Nm::SpecializedPayload<StorageFileFormatMigrationPayload>
20{
21public:
23 using ArgumentsType = std::tuple<const char*, const char*, StorageFileFormatMigrationResult, int, int, const char*>;
26 StorageFileFormatMigrationPayload(const String& archiveName, const String& filePath,
27 StorageFileFormatMigrationResult result, int sourceVersion, int destinationVersion,
28 const String& backupFilePath);
29 String GetArchiveName() const;
30 String GetFilePath() const;
31 StorageFileFormatMigrationResult GetResult() const;
32 int GetSourceVersion() const;
33 int GetDestinationVersion() const;
34 String GetBackupFilePath() const;
35
36private:
37 static String GetFormatString(StorageFileFormatMigrationResult result);
38
39private:
40 // Do not change the order of the field initialization!
41 const size_t indexArchiveName = this->AddField<String>();
42 const size_t indexFilePath = this->AddField<String>();
43 const size_t indexResult = this->AddField<StorageFileFormatMigrationResult>();
44 const size_t indexSourceVersion = this->AddField<int>();
45 const size_t indexDestinationVersion = this->AddField<int>();
46 const size_t indexBackupFilePath = this->AddField<String>();
47};
48
49}}}} // namespace Arp::System::NmPayload::NotificationLogger
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Payload class for a message regarding the migration of the storage file format
Definition: StorageFileFormatMigrationPayload.hpp:20
std::tuple< const char *, const char *, StorageFileFormatMigrationResult, int, int, const char * > ArgumentsType
ArgumentsType to be used with NonBlockingNotificationRegistration3
Definition: StorageFileFormatMigrationPayload.hpp:23
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:44
SpecializedPayload(const Notification &notification)
Creates a view on a Notification object
Definition: SpecializedPayload.hpp:211
Root namespace for the PLCnext API