Files
UnrealEngineUWP/Engine/Source/Developer/Windows/LiveCodingServer/Public/ILiveCodingServer.h
ben marsh dfe36e3c06 Live Coding: Fixes issue linking patch DLLs with Visual Studio Express, due to PATH environment variable not including path to mspdb140.dll.
Now stores the linker environment block in the live coding manifest, and adds it to the cache before executing the linker.

#rb none
#jira UE-72324

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5740602 in //UE4/Release-4.22/... via CL 5740765
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5743844 by ben marsh in Dev-Core branch]
2019-04-04 13:06:53 -04:00

63 lines
1.8 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h"
#include "Containers/Map.h"
#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;
virtual void SetLinkerPath(const wchar_t* LinkerPath, const TMap<FString, FString>& LinkerEnvironment) = 0;
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;
DECLARE_DELEGATE_RetVal_TwoParams(bool, FCompileDelegate, const TArray<FString>&, FModuleToObjectFiles&)
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;
};