Files
2025-05-18 13:04:45 +08:00

47 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Trace/Analyzer.h"
#include "Templates/SharedPointer.h"
#include "ProfilingDebugging/MiscTrace.h"
#include "Common/PagedArray.h"
namespace TraceServices
{
class IAnalysisSession;
class IEditableBookmarkProvider;
class ILogProvider;
class IEditableLogProvider;
class FBookmarksAnalyzer
: public UE::Trace::IAnalyzer
{
public:
FBookmarksAnalyzer(IAnalysisSession& Session, IEditableBookmarkProvider& EditableBookmarkProvider, IEditableLogProvider* InEditableLogProvider);
virtual void OnAnalysisBegin(const FOnAnalysisContext& Context) override;
virtual bool OnEvent(uint16 RouteId, EStyle Style, const FOnEventContext& Context) override;
private:
enum : uint16
{
RouteId_BookmarkSpec,
RouteId_Bookmark,
};
IAnalysisSession& Session;
IEditableBookmarkProvider& EditableBookmarkProvider;
IEditableLogProvider* EditableLogProvider;
uint64 BookmarkLogCategoryId = uint64(-1);
enum
{
FormatBufferSize = 65536
};
TCHAR FormatBuffer[FormatBufferSize];
TCHAR TempBuffer[FormatBufferSize];
};
} // namespace TraceServices