PLCnext API Documentation 25.0.2.69
INotificationLoggerService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include <vector>
11#include "Arp/Base/Rsc/Commons/RscString.hxx"
12#include "Arp/Services/NotificationLogger/Services/NotificationFilter.hpp"
13#include "Arp/Services/NotificationLogger/Services/SortOrder.hpp"
14#include "Arp/Services/NotificationLogger/Services/StoredNotification.hpp"
15#include "Arp/System/Nm/Services/Notification.hpp"
16
17// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INotificationLoggerService.cs
18
19namespace Arp { namespace Services { namespace NotificationLogger { namespace Services
20{
21
22using namespace Arp::Base::Rsc::Commons;
23
31class ARP_EXPORT INotificationLoggerService : public IRscService
32{
33public: // usings
34 using Ptr = std::shared_ptr<INotificationLoggerService>;
36
37public: // construction/destruction
40
41public: // static policy operation
42 static IRscServiceProxyFactory& GetProxyFactory(void);
43
44public: // abstract operations
54 virtual std::vector<StoredNotification> QueryStoredNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
55
65 virtual std::vector<Notification> QueryNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
66
73 virtual int32 DeleteNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter) = 0;
74
79 virtual std::vector<RscString<512>> ListArchives() = 0;
80
86 virtual std::vector<RscString<512>> GetArchiveConfiguration(const RscString<512>& archive) = 0;
87
94 virtual boolean SetArchiveConfiguration(const RscString<512>& archive, const std::vector<RscString<512>>& xmlConfiguration) = 0;
95
101 virtual boolean ResetArchiveConfigurationToFiles(const RscString<512>& archive) = 0;
102};
103
104}}}} // end of namespace Arp::Services::NotificationLogger::Services
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
The NotificationLogger stores Notifications and provides an interface to retrieve them.
Definition: INotificationLoggerService.hpp:32
virtual std::vector< Notification > QueryNotifications(const std::vector< RscString< 512 > > &archives, const NotificationFilter &filter, int32 limit, SortOrder sortOrder, const RscString< 512 > &language)=0
Queries notifications matching the supplied filter from the mentioned archives and returns them as No...
virtual std::vector< StoredNotification > QueryStoredNotifications(const std::vector< RscString< 512 > > &archives, const NotificationFilter &filter, int32 limit, SortOrder sortOrder, const RscString< 512 > &language)=0
Queries notifications matching the supplied filter from the mentioned archives and returns them as St...
virtual std::vector< RscString< 512 > > ListArchives()=0
Queries a list of archives
virtual std::vector< RscString< 512 > > GetArchiveConfiguration(const RscString< 512 > &archive)=0
Query the configuration as XML for the given archive
virtual boolean ResetArchiveConfigurationToFiles(const RscString< 512 > &archive)=0
Resets the configuration of the given archive to the configuration files. All changes made by RSC are...
virtual boolean SetArchiveConfiguration(const RscString< 512 > &archive, const std::vector< RscString< 512 > > &xmlConfiguration)=0
Set the configuration of the given archive
virtual int32 DeleteNotifications(const std::vector< RscString< 512 > > &archives, const NotificationFilter &filter)=0
Remove notifications mathing the filter from the given archives
INotificationLoggerService(void)=default
Constructs an INotificationLoggerService instance.
Filter specification to match notification on query or delete
Definition: NotificationFilter.hpp:27
Contains meta data and paylod of a Notification
Definition: Notification.hpp:20
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
SortOrder
Definition how to sort the queried notifications
Definition: SortOrder.hpp:19
Root namespace for the PLCnext API