45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "HAL/Platform.h"
|
|
#include "UObject/NameTypes.h"
|
|
|
|
|
|
class FString;
|
|
|
|
/**
|
|
* Names for the possible sections used during the logging of this module commandlets.
|
|
* Do not change the name of them before consulting the Mutable team
|
|
*/
|
|
enum class EMutableLogSection : uint8
|
|
{
|
|
Undefined = 0,
|
|
|
|
Compilation,
|
|
Update,
|
|
Bake,
|
|
|
|
Object,
|
|
};
|
|
|
|
|
|
/**
|
|
* Object that handles the logging of scope based log sections that we can later parse out and interpret externally
|
|
*/
|
|
class FScopedLogSection
|
|
{
|
|
public:
|
|
FScopedLogSection(EMutableLogSection Section, const FName& SectionTarget = FName());
|
|
~FScopedLogSection();
|
|
|
|
private:
|
|
|
|
/** Get the name of the context as a string of characters */
|
|
FString GetLogSectionName(EMutableLogSection Section) const;
|
|
|
|
/** Section that this object is currently representing */
|
|
EMutableLogSection CurrentSection = EMutableLogSection::Undefined;
|
|
|
|
/** The object the current section is representing */
|
|
static inline FName SectionObject;
|
|
}; |