2019-03-27 15:03:08 -04:00
|
|
|
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreTypes.h"
|
2019-04-22 18:56:08 -04:00
|
|
|
#include "Containers/Map.h"
|
2019-03-27 15:03:08 -04:00
|
|
|
#include "Features/IModularFeature.h"
|
|
|
|
|
#include "Delegates/Delegate.h"
|
|
|
|
|
|
|
|
|
|
#define LIVE_CODING_SERVER_FEATURE_NAME "LiveCodingServer"
|
|
|
|
|
|
|
|
|
|
enum class ELiveCodingResult
|
|
|
|
|
{
|
|
|
|
|
Success,
|
|
|
|
|
Error
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class ELiveCodingLogVerbosity
|
|
|
|
|
{
|
|
|
|
|
Info,
|
|
|
|
|
Success,
|
|
|
|
|
Warning,
|
|
|
|
|
Failure,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ILiveCodingServer : public IModularFeature
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void Start(const wchar_t* ProcessGroupName) = 0;
|
|
|
|
|
virtual void Stop() = 0;
|
|
|
|
|
|
2019-07-24 15:05:52 -04:00
|
|
|
virtual void RestartTargets() = 0;
|
|
|
|
|
|
2019-04-22 18:56:08 -04:00
|
|
|
virtual void SetLinkerPath(const wchar_t* LinkerPath, const TMap<FString, FString>& LinkerEnvironment) = 0;
|
2019-03-27 15:03:08 -04:00
|
|
|
|
|
|
|
|
DECLARE_DELEGATE(FBringToFrontDelegate);
|
|
|
|
|
virtual FBringToFrontDelegate& GetBringToFrontDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE(FClearOutputDelegate);
|
|
|
|
|
virtual FClearOutputDelegate& GetClearOutputDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_OneParam(FStatusChangeDelegate, const wchar_t*);
|
|
|
|
|
virtual FStatusChangeDelegate& GetStatusChangeDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_TwoParams(FLogOutputDelegate, ELiveCodingLogVerbosity, const wchar_t*);
|
|
|
|
|
virtual FLogOutputDelegate& GetLogOutputDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
typedef TMap<FString, TArray<FString>> FModuleToObjectFiles;
|
2019-06-21 01:21:43 -04:00
|
|
|
DECLARE_DELEGATE_RetVal_FourParams(bool, FCompileDelegate, const TArray<FString>&, const TArray<FString>&, TArray<FString>&, FModuleToObjectFiles&)
|
2019-03-27 15:03:08 -04:00
|
|
|
virtual FCompileDelegate& GetCompileDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE(FCompileStartedDelegate);
|
|
|
|
|
virtual FCompileStartedDelegate& GetCompileStartedDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_TwoParams(FCompileFinishedDelegate, ELiveCodingResult, const wchar_t*);
|
|
|
|
|
virtual FCompileFinishedDelegate& GetCompileFinishedDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE(FShowConsoleDelegate);
|
|
|
|
|
virtual FShowConsoleDelegate& GetShowConsoleDelegate() = 0;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_OneParam(FSetVisibleDelegate, bool);
|
|
|
|
|
virtual FSetVisibleDelegate& GetSetVisibleDelegate() = 0;
|
|
|
|
|
};
|
|
|
|
|
|