UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ITraceController Class Referenceabstract

#include <ITraceController.h>

+ Inheritance diagram for ITraceController:

Public Types

typedef TFunction< void(const FTraceStatus &, ITraceControllerCommands &)> FCallback
 

Public Member Functions

virtual ~ITraceController ()=default
 
virtual void SendDiscoveryRequest (const FGuid &SessionId, const FGuid &InstanceId) const =0
 
virtual void SendDiscoveryRequest ()=0
 
virtual void SendStatusUpdateRequest ()=0
 
virtual void SendChannelUpdateRequest ()=0
 
virtual void SendSettingsUpdateRequest ()=0
 
 DECLARE_EVENT_ThreeParams (ITraceController, FStatusRecievedEvent, const FTraceStatus &, FTraceStatus::EUpdateType, ITraceControllerCommands &)
 
virtual FStatusRecievedEventOnStatusReceived ()=0
 
virtual bool HasAvailableInstance (const FGuid &InstanceId)=0
 
virtual void WithInstance (FGuid InstanceId, FCallback Func)=0
 

Static Public Member Functions

static SESSIONSERVICES_API TSharedPtr< ITraceControllerCreate (TSharedPtr< class IMessageBus > &MessageBus)
 

Detailed Description

Interface for monitoring known trace service instances. ITraceController is a singleton which tracks all known instances and provides callback for status updates and interfaces to issue commands to one or more remote instances.

Example usage:

// I've found the session instance that we want to control
FGuid InstanceId = ...;
// Get the controller
TSharedPtr<ITraceController> TraceController = SessionServicesModule.GetTraceController();
// To control just a single instance use the session instance id.
TraceController->WithInstance(InstanceId, [](const FTraceStatus& Status, ITraceControllerCommands& Commands){
Commands.Send("localhost", "audio,audiomixer,bookmark,log");
Commands.Bookmark("My remote bookmark");
});
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ITraceControllerCommands.h:12
virtual void Bookmark(FStringView Label)=0
virtual void Send(FStringView Host, FStringView Channels, bool bExcludeTail=false)=0
Definition SharedPointer.h:692
Definition Guid.h:109
Definition ITraceController.h:17

Member Typedef Documentation

◆ FCallback

Constructor & Destructor Documentation

◆ ~ITraceController()

virtual ITraceController::~ITraceController ( )
virtualdefault

Member Function Documentation

◆ Create()

TSharedPtr< ITraceController > ITraceController::Create ( TSharedPtr< class IMessageBus > &  MessageBus)
static

Create an instance using a custom message bus

Parameters
MessageBusMessage bus the controller will use

◆ DECLARE_EVENT_ThreeParams()

ITraceController::DECLARE_EVENT_ThreeParams ( ITraceController  ,
FStatusRecievedEvent  ,
const FTraceStatus ,
FTraceStatus::EUpdateType  ,
ITraceControllerCommands  
)

Generic event for updates of status

◆ HasAvailableInstance()

virtual bool ITraceController::HasAvailableInstance ( const FGuid InstanceId)
pure virtual

Return true if an instance with the provided Id exists and has been discovered.

◆ OnStatusReceived()

virtual FStatusRecievedEvent & ITraceController::OnStatusReceived ( )
pure virtual

Event triggered whenever status is updated for any known session. A reference to the status and what has changed is provided along with a structure to issue commands.

◆ SendChannelUpdateRequest()

virtual void ITraceController::SendChannelUpdateRequest ( )
pure virtual

Request update of channel status from all sessions and instances.

◆ SendDiscoveryRequest() [1/2]

virtual void ITraceController::SendDiscoveryRequest ( )
pure virtual

Request to discover all instances

◆ SendDiscoveryRequest() [2/2]

virtual void ITraceController::SendDiscoveryRequest ( const FGuid SessionId,
const FGuid InstanceId 
) const
pure virtual

Request to discover a specific instance

Parameters
SessionIdSession id of the instance
InstanceIdInstance id

◆ SendSettingsUpdateRequest()

virtual void ITraceController::SendSettingsUpdateRequest ( )
pure virtual

Request update of setting state from all sessions and instances.

◆ SendStatusUpdateRequest()

virtual void ITraceController::SendStatusUpdateRequest ( )
pure virtual

Request update of the status from all sessions and instances.

◆ WithInstance()

virtual void ITraceController::WithInstance ( FGuid  InstanceId,
FCallback  Func 
)
pure virtual

Execute a function on a specific session.

Parameters
InstanceIdInstanceId to issue command to
FuncFunctor to execute

The documentation for this class was generated from the following files: