PLCnext API Documentation  22.3.0.20
INotificationLoggerService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscService.hpp"
9 #include "NotificationLoggerServiceProxyFactory.hpp"
10 #include "Arp/System/Rsc/Services/RscString.hxx"
11 #include "Notification.hpp"
12 #include "NotificationFilter.hpp"
13 #include "SortOrder.hpp"
14 #include "StoredNotification.hpp"
15 #include <vector>
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 
29 {
30 public: // typedefs
31  using Ptr = std::shared_ptr<INotificationLoggerService>;
32 
33 public: // construction/destruction
35  INotificationLoggerService(void) = default;
36 
37 public: // static policy operation
38  static IRscServiceProxyFactory& GetProxyFactory(void);
39 
40 public: // abstract operations
50  virtual std::vector<StoredNotification> QueryStoredNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
51 
61  virtual std::vector<Notification> QueryNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter, int32 limit, SortOrder sortOrder, const RscString<512>& language) = 0;
62 
69  virtual int32 DeleteNotifications(const std::vector<RscString<512>>& archives, const NotificationFilter& filter) = 0;
70 
75  virtual std::vector<RscString<512>> ListArchives() = 0;
76 
82  virtual std::vector<RscString<512>> GetArchiveConfiguration(const RscString<512>& archive) = 0;
83 
90  virtual boolean SetArchiveConfiguration(const RscString<512>& archive, const std::vector<RscString<512>>& xmlConfiguration) = 0;
91 
97  virtual boolean ResetArchiveConfigurationToFiles(const RscString<512>& archive) = 0;
98 };
99 
101 // inline methods of class INotificationLoggerService
102 inline IRscServiceProxyFactory& INotificationLoggerService::GetProxyFactory()
103 {
104  return NotificationLoggerServiceProxyFactory::GetInstance();
105 }
106 
107 }}}} // end of namespace Arp::Services::NotificationLogger::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
SortOrder
Definition how to sort the queried notifications
Definition: SortOrder.hpp:20
Filter specification to match notification on query or delete
Definition: NotificationFilter.hpp:24
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:37
The NotificationLogger stores Notifications and provides an interface to retrieve them...
Definition: INotificationLoggerService.hpp:28