PLCnext API Documentation  20.6.0.30321
IDataLoggerService2.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 "DataLoggerService2ProxyFactory.hpp"
10 #include "Arp/System/Core/delegate.hxx"
11 #include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
12 #include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx"
13 #include "Arp/System/Rsc/Services/RscString.hxx"
14 #include "Arp/System/Rsc/Services/RscVariant.hxx"
15 #include "ErrorCode.hpp"
16 #include "SessionProperty.hpp"
17 #include "SessionState.hpp"
18 #include "TriggerRpnItem.hpp"
19 #include "VariableInfo.hpp"
20 #include <vector>
21 
22 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IDataLoggerService2.cs
23 
24 namespace Arp { namespace Services { namespace DataLogger { namespace Services
25 {
26 
27 using namespace Arp;
28 using namespace Arp::System::Rsc::Services;
29 
34 {
35 public: // typedefs
36  typedef std::shared_ptr<IDataLoggerService2> Ptr;
37  typedef delegate<void(IRscReadEnumerator<RscString<512>>&)> ListSessionNamesResultDelegate;
38  typedef delegate<void(IRscWriteEnumerator<RscString<512>>&)> SetVariablesVariableNamesDelegate;
39  typedef delegate<void(IRscReadEnumerator<ErrorCode>&)> SetVariablesResultDelegate;
40  typedef delegate<void(IRscReadEnumerator<VariableInfo>&)> GetLoggedVariablesInfosDelegate;
41  typedef delegate<void(IRscWriteEnumerator<RscString<512>>&)> ReadVariablesDataVariableNamesDelegate;
42  typedef delegate<void(IRscReadEnumerator<RscVariant<512>>&)> ReadVariablesDataValuesDelegate;
43  typedef delegate<void(IRscReadEnumerator<RscString<512>>&)> GetRotatedFileNamesFilenamesDelegate;
44  typedef delegate<void(IRscReadEnumerator<RscString<512>>&)> GetSessionNamesResultDelegate;
45  typedef delegate<void(IRscWriteEnumerator<TriggerRpnItem>&)> SetTriggerConditionTriggerConditionDelegate;
46 
47 public: // construction/destruction
49  IDataLoggerService2(void);
51  virtual ~IDataLoggerService2(void);
52 
53 public: // static policy operation
54  static IRscServiceProxyFactory& GetProxyFactory(void);
55 
56 public: // abstract operations
61  virtual void ListSessionNames(ListSessionNamesResultDelegate resultDelegate) = 0;
62 
70  virtual ErrorCode CreateSession(const RscString<512>& sessionName, boolean persistent = false) = 0;
71 
78  virtual ErrorCode RemoveSession(const RscString<512>& sessionName) = 0;
79 
86  virtual ErrorCode StartSession(const RscString<512>& sessionName) = 0;
87 
94  virtual ErrorCode StopSession(const RscString<512>& sessionName) = 0;
95 
103  virtual ErrorCode ConfigureSession(const RscString<512>& sessionname, const std::vector<SessionProperty>& properties) = 0;
104 
113  virtual ErrorCode GetSessionConfiguration(const RscString<512>& sessionname, std::vector<SessionProperty>& properties, boolean& isPersistent) = 0;
114 
123  virtual ErrorCode GetSessionState(const RscString<512>& sessionName, SessionState& state) = 0;
124 
132  virtual void SetVariables(const RscString<512>& sessionName, SetVariablesVariableNamesDelegate variableNamesDelegate, SetVariablesResultDelegate resultDelegate) = 0;
133 
141  virtual ErrorCode GetLoggedVariables(const RscString<512>& sessionName, GetLoggedVariablesInfosDelegate infosDelegate) = 0;
142 
189  virtual ErrorCode ReadVariablesData(const RscString<512>& sessionName, DateTime startTime, DateTime endTime, ReadVariablesDataVariableNamesDelegate variableNamesDelegate, ReadVariablesDataValuesDelegate valuesDelegate) = 0;
190 
199  virtual ErrorCode GetRotatedFileNames(const RscString<512>& sessionname, GetRotatedFileNamesFilenamesDelegate filenamesDelegate) = 0;
200 
206  virtual void GetSessionNames(const RscString<512>& variablename, GetSessionNamesResultDelegate resultDelegate) = 0;
207 
226  virtual ErrorCode SetTriggerCondition(const RscString<512>& sessionName, const RscString<512>& taskName, uint16 preCycleCount, uint16 postCycleCount, SetTriggerConditionTriggerConditionDelegate triggerConditionDelegate) = 0;
227 
228 private: // deleted methods (for non-copyable classes)
229  IDataLoggerService2(const IDataLoggerService2& arg) = delete;
230  IDataLoggerService2& operator=(const IDataLoggerService2& arg) = delete;
231 };
232 
234 // inline methods of class IDataLoggerService2
236 {
237 }
238 
240 {
241 }
242 
243 inline IRscServiceProxyFactory& IDataLoggerService2::GetProxyFactory()
244 {
245  return DataLoggerService2ProxyFactory::GetInstance();
246 }
247 
248 }}}} // end of namespace Arp::Services::DataLogger::Services
Namespace for classes and interfaces for the Remote Service Call implementation
virtual ~IDataLoggerService2(void)
Destructs this instance and frees all resouces.
Definition: IDataLoggerService2.hpp:239
The class contains date and time informations.
Definition: DateTime.hpp:43
IDataLoggerService2(void)
Constructs an IDataLoggerService2 instance.
Definition: IDataLoggerService2.hpp:235
The DataLogger provides an interface to log and store variables during firmware runtime.
Definition: IDataLoggerService2.hpp:33
Root namespace for the PLCnext API
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
ErrorCode
Possible error codes for data-logger rsc services.
Definition: ErrorCode.hpp:20
SessionState
State of a data logger session
Definition: SessionState.hpp:20