Files
UnrealEngine/Engine/Source/Developer/TraceInsightsFrontend/Public/InsightsFrontend/ITraceInsightsFrontendModule.h
2025-05-18 13:04:45 +08:00

54 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h"
#include "Modules/ModuleInterface.h"
#include "Templates/SharedPointer.h"
#define INSIGHTS_ENABLE_AUTOMATION !WITH_EDITOR
namespace UE::Insights
{
/** Contains parameters that are passed to the CreateSessionBrowser function to control specific behaviors. */
struct FCreateFrontendWindowParams
{
bool bAllowDebugTools = false;
bool bInitializeTesting = false;
bool bStartProcessWithStompMalloc = false;
bool bDisableFramerateThrottle = false;
bool bAutoQuit = false;
};
struct FInsightsFrontendTabs
{
static const FName TraceStoreTabId;
static const FName ConnectionTabId;
};
class STraceStoreWindow;
class SConnectionWindow;
} // namespace UE::Insights
/** Interface for TraceInsightsCore module. */
class TRACEINSIGHTSFRONTEND_API ITraceInsightsFrontendModule : public IModuleInterface
{
public:
virtual ~ITraceInsightsFrontendModule() {}
virtual bool ConnectToStore(const TCHAR* InStoreHost, uint32 InStorePort = 0) = 0;
virtual void CreateFrontendWindow(const UE::Insights::FCreateFrontendWindowParams& Params) = 0;
virtual TSharedPtr<UE::Insights::STraceStoreWindow> GetTraceStoreWindow() const = 0;
virtual TSharedPtr<UE::Insights::SConnectionWindow> GetConnectionWindow() const = 0;
/**
* Called to run automation tests in Unreal Insights.
*/
virtual void RunAutomationTests(const FString& InCmd) = 0;
};