Files
UnrealEngineUWP/Engine/Source/Editor/Experimental/RemoteExecution/Private/RemoteExecutionModule.h

42 lines
1.2 KiB
C
Raw Normal View History

// 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);
namespace UE::RemoteExecution
{
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;
};
}