Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

35 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IVisualLoggerProvider.h"
#include "Model/PointTimeline.h"
#include "Containers/Map.h"
#include "Templates/SharedPointer.h"
#include "VisualLogger/VisualLoggerTypes.h"
namespace TraceServices { class IAnalysisSession; }
class FVisualLoggerProvider : public IVisualLoggerProvider
{
public:
static FName ProviderName;
explicit FVisualLoggerProvider(TraceServices::IAnalysisSession& InSession);
/** IVisualLoggerProvider interface */
virtual bool ReadVisualLogEntryTimeline(uint64 InObjectId, TFunctionRef<void(const VisualLogEntryTimeline&)> Callback) const;
virtual void EnumerateCategories(TFunctionRef<void(const FName&)> Callback) const override;
/** Add an object event message */
void AppendVisualLogEntry(uint64 InObjectId, double InTime, const FVisualLogEntry& Entry);
private:
TraceServices::IAnalysisSession& Session;
TMap<uint64, uint32> ObjectIdToLogEntryTimelines;
TArray<TSharedRef<TraceServices::TPointTimeline<FVisualLogEntry>>> LogEntryTimelines;
TArray<FName> Categories;
};