PLCnext API Documentation  22.9.0.33
INotificationLoggerService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include <vector>
9 #include "Arp/Services/NotificationLogger/Services/NotificationFilter.hpp"
10 #include "Arp/Services/NotificationLogger/Services/NotificationLoggerServiceProxyFactory.hpp"
11 #include "Arp/Services/NotificationLogger/Services/SortOrder.hpp"
12 #include "Arp/Services/NotificationLogger/Services/StoredNotification.hpp"
13 #include "Arp/System/Nm/Services/Notification.hpp"
14 #include "Arp/System/Rsc/Services/IRscService.hpp"
15 #include "Arp/System/Rsc/Services/RscString.hxx"
16 
17 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INotificationLoggerService.cs
18 
19 namespace Arp { namespace Services { namespace NotificationLogger { namespace Services
20 {
21 
22 using namespace Arp;
23 using namespace Arp::System::Rsc::Services;
24 
30 {
31 public: // typedefs
32  using Ptr = std::shared_ptr<INotificationLoggerService>;
34 
35 public: // construction/destruction
37  INotificationLoggerService(void) = default;
38 
39 public: // static policy operation
40  static IRscServiceProxyFactory& GetProxyFactory(void);
41 
42 public: // abstract operations
52  virtual std::vector<StoredNotification> QueryStoredNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
53 
63  virtual std::vector<Notification> QueryNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
64 
71  virtual int32 DeleteNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter) = 0;
72 
77  virtual std::vector<RscString<512>> ListArchives() = 0;
78 
84  virtual std::vector<RscString<512>> GetArchiveConfiguration(const RscString<512>& archive) = 0;
85 
92  virtual boolean SetArchiveConfiguration(const RscString<512>& archive, const std::vector<RscString<512>>& xmlConfiguration) = 0;
93 
99  virtual boolean ResetArchiveConfigurationToFiles(const RscString<512>& archive) = 0;
100 };
101 
103 // inline methods of class INotificationLoggerService
104 inline IRscServiceProxyFactory& INotificationLoggerService::GetProxyFactory()
105 {
106  return NotificationLoggerServiceProxyFactory::GetInstance();
107 }
108 
109 }}}} // end of namespace Arp::Services::NotificationLogger::Services
The NotificationLogger stores Notifications and provides an interface to retrieve them.
Definition: INotificationLoggerService.hpp:30
virtual std::vector< RscString< 512 > > GetArchiveConfiguration(const RscString< 512 > &archive)=0
Query the configuration as XML for the given archive
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 int32 DeleteNotifications(const std::vector< RscString< 512 >> &archives, const NotificationFilter &filter)=0
Remove notifications mathing the filter from the given archives
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...
INotificationLoggerService(void)=default
Constructs an INotificationLoggerService instance.
virtual std::vector< RscString< 512 > > ListArchives()=0
Queries a list of archives
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 boolean SetArchiveConfiguration(const RscString< 512 > &archive, const std::vector< RscString< 512 >> &xmlConfiguration)=0
Set the configuration of the given archive
Filter specification to match notification on query or delete
Definition: NotificationFilter.hpp:25
Contains meta data and paylod of a Notification
Definition: Notification.hpp:22
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:37
SortOrder
Definition how to sort the queried notifications
Definition: SortOrder.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API