PLCnext API Documentation 23.0.2.9
ITraceControllerService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Services/TraceController/Services/TraceControllerServiceProxyFactory.hpp"
10#include "Arp/System/Rsc/Services/IRscService.hpp"
11#include "Arp/System/Rsc/Services/RscString.hxx"
12
13// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY ITraceControllerService.cs
14
15namespace Arp { namespace Services { namespace TraceController { namespace Services
16{
17
18using namespace Arp;
19using namespace Arp::System::Rsc::Services;
20
44{
45public: // typedefs
46 using Ptr = std::shared_ptr<ITraceControllerService>;
47
48public: // construction/destruction
50 ITraceControllerService(void) = default;
51
52public: // static policy operation
53 static IRscServiceProxyFactory& GetProxyFactory(void);
54
55public: // abstract operations
65 virtual boolean IsSessionDaemonAlive() = 0;
66
96 virtual boolean LoadSessionConfiguration(const RscString<512>& session, const RscString<512>& path) = 0;
97
103 virtual std::vector<RscString<512>> ListSessions() = 0;
104
121 virtual boolean StartSession(const RscString<512>& session) = 0;
122
135 virtual boolean StopSession(const RscString<512>& session) = 0;
136
150 virtual boolean DestroySession(const RscString<512>& session) = 0;
151
161 virtual void LoadTracepointLib() = 0;
162
172 virtual void UnloadTracepointLib() = 0;
173
190 virtual boolean TriggerSavingTraceOutputs(boolean stopTriggerSession) = 0;
191
211 virtual boolean IsSessionInSnapshotMode(const RscString<512>& session) = 0;
212
223 virtual boolean IsSessionEnabled(const RscString<512>& session) = 0;
224
232 virtual boolean IsSessionLoaded(const RscString<512>& session) = 0;
233};
234
236// inline methods of class ITraceControllerService
237inline IRscServiceProxyFactory& ITraceControllerService::GetProxyFactory()
238{
239 return TraceControllerServiceProxyFactory::GetInstance();
240}
241
242}}}} // end of namespace Arp::Services::TraceController::Services
This service provides an Interface to manage and control the LTTng tracing on the PLCnext controller.
Definition: ITraceControllerService.hpp:44
virtual std::vector< RscString< 512 > > ListSessions()=0
Queries a list of all loaded (both started and stopped sessions) LTTng tracing sessions.
virtual boolean IsSessionDaemonAlive()=0
Checks if the LTTng session daemon for tracing is alive.
virtual boolean DestroySession(const RscString< 512 > &session)=0
Destroys/Unloads a LTTng tracing session.
virtual boolean IsSessionEnabled(const RscString< 512 > &session)=0
Checks if a tracing session is already enabled/started.
virtual boolean IsSessionInSnapshotMode(const RscString< 512 > &session)=0
Checks if a tracing session is in Snapshot Mode.
ITraceControllerService(void)=default
Constructs an ITraceControllerService instance.
virtual void UnloadTracepointLib()=0
Unloads the userspace Tracepoint library.
virtual boolean StopSession(const RscString< 512 > &session)=0
Stops a LTTng tracing session.
virtual boolean IsSessionLoaded(const RscString< 512 > &session)=0
Checks if a trace session is already loaded.
virtual boolean LoadSessionConfiguration(const RscString< 512 > &session, const RscString< 512 > &path)=0
Tries to loads a tracing session from a given configuration file.
virtual boolean TriggerSavingTraceOutputs(boolean stopTriggerSession)=0
Triggers the recording/saving all outputs of a configured session. Saving will be performed by anothe...
virtual void LoadTracepointLib()=0
Loads the PLCnext userspace Tracepoint library.
virtual boolean StartSession(const RscString< 512 > &session)=0
Starts a LTTng tracing session.
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API