PLCnext API Documentation 24.0.0.71
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
47{
48public: // typedefs
49 using Ptr = std::shared_ptr<ITraceControllerService>;
50
51public: // construction/destruction
53 ITraceControllerService(void) = default;
54
55public: // static policy operation
56 static IRscServiceProxyFactory& GetProxyFactory(void);
57
58public: // abstract operations
68 virtual boolean IsSessionDaemonAlive() = 0;
69
99 virtual boolean LoadSessionConfiguration(const RscString<512>& session, const RscString<512>& path) = 0;
100
106 virtual std::vector<RscString<512>> ListSessions() = 0;
107
124 virtual boolean StartSession(const RscString<512>& session) = 0;
125
138 virtual boolean StopSession(const RscString<512>& session) = 0;
139
153 virtual boolean DestroySession(const RscString<512>& session) = 0;
154
164 virtual void LoadTracepointLib() = 0;
165
175 virtual void UnloadTracepointLib() = 0;
176
193 virtual boolean TriggerSavingTraceOutputs(boolean stopTriggerSession) = 0;
194
214 virtual boolean IsSessionInSnapshotMode(const RscString<512>& session) = 0;
215
226 virtual boolean IsSessionEnabled(const RscString<512>& session) = 0;
227
235 virtual boolean IsSessionLoaded(const RscString<512>& session) = 0;
236};
237
239// inline methods of class ITraceControllerService
240inline IRscServiceProxyFactory& ITraceControllerService::GetProxyFactory()
241{
242 return TraceControllerServiceProxyFactory::GetInstance();
243}
244
245}}}} // 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:47
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:20
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API