Files
UnrealEngineUWP/Engine/Plugins/Web/WebAPI/Source/WebAPIEditor/Public/WebAPIMessageLog.h
George Rolfe e54c69d811 WebAPI re-submit
#rb simon.therriault
#jira UETOOL-4463
#preflight 62424a85c61d8a458f223a59

[CL 19540648 by George Rolfe in ue5-main branch]
2022-03-29 08:43:59 -04:00

65 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
class IMessageLogListing;
class SWidget;
/**
* Log verbosity level
*/
enum class EVerbosityLevel : uint8
{
Log,
Warning,
Error
};
/** WebAPI Message Log, unique to each definition (when editing). */
class WEBAPIEDITOR_API FWebAPIMessageLog final : public TSharedFromThis<FWebAPIMessageLog>
{
public:
FWebAPIMessageLog();
/**
* Log an information message
* @param InMessage The text message to log
* @param InCallerName Message type: provider or generator name
*/
void LogInfo(const FText& InMessage, const FString& InCallerName = TEXT(""));
/**
* Logs a warning message
* @param InMessage The text message to log
* @param InCallerName Message type: provider or generator name
*/
void LogWarning(const FText& InMessage, const FString& InCallerName = TEXT(""));
/**
* Logs an error message
* @param InMessage The text message to log
* @param InCallerName Message type: provider or generator name
*/
void LogError(const FText& InMessage, const FString& InCallerName = TEXT(""));
/** Removes all messages from log. */
void ClearLog() const;
/** Log listing interface. */
TSharedPtr<IMessageLogListing> GetMessageLogListing() const { return MessageLogListing; }
private:
/**
* Log a message
* @param InMessage The text message to log
* @param InCallerName Message type: provider or generator name
*/
template <EVerbosityLevel VerbosityLevel>
void Log(const FText& InMessage, const FString& InCallerName = TEXT(""));
/** Log listing interface. */
TSharedPtr<IMessageLogListing> MessageLogListing;
};