Files
UnrealEngineUWP/Engine/Source/Editor/Experimental/RemoteExecution/Private/RemoteExecutionModule.h
joe kirchoff d1a39f3d97 Experimental RemoteExecution & HordeExecutor editor modules
Implements gRPC wrappers for Bazel remote execution api
Static libraries are built via vcpkg, currently only supported for Win64 Editor builds

#rb Ben.Marsh
#preflight 609c65f883595700015753f8

#ROBOMERGE-SOURCE: CL 16313287 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16313414 by joe kirchoff in ue5-release-engine-test branch]
2021-05-13 11:21:24 -04:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "IRemoteExecutionModule.h"
#include "DefaultRemoteExecutor.h"
REMOTEEXECUTION_API DECLARE_LOG_CATEGORY_EXTERN(LogRemoteExecution, Display, All);
class FRemoteExecutionModule : public IRemoteExecutionModule
{
public:
/** Default constructor. */
FRemoteExecutionModule();
// IModuleInterface interface
virtual void StartupModule() override;
virtual void ShutdownModule() override;
// IRemoteExecutionModule interface
virtual bool CanRemoteExecute() const override;
virtual IRemoteExecutor& GetRemoteExecutor() const override;
virtual void SetRemoteExecutor(const FName& InName);
private:
/** Handle when one of the modular features we are interested in is registered */
void HandleModularFeatureRegistered(const FName& Type, IModularFeature* ModularFeature);
/** Handle when one of the modular features we are interested in is unregistered */
void HandleModularFeatureUnregistered(const FName& Type, IModularFeature* ModularFeature);
FDefaultRemoteExecutor DefaultExecutor;
IRemoteExecutor* CurrentExecutor;
};