64 lines
1.8 KiB
C++
64 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleInterface.h"
|
|
|
|
class ISourceCodeAccessor;
|
|
|
|
/** Event fired when launching code accessor */
|
|
DECLARE_MULTICAST_DELEGATE( FLaunchingCodeAccessor );
|
|
|
|
/**
|
|
* Event fired when done launching code accessor
|
|
* @param bSuccess Whether the launch was successful or not
|
|
*/
|
|
DECLARE_MULTICAST_DELEGATE_OneParam( FDoneLaunchingCodeAccessor, const bool /*bSuccess*/);
|
|
|
|
/**
|
|
* Event fired when opening a file has failed
|
|
* @param InFilename The filename that failed to open
|
|
*/
|
|
DECLARE_MULTICAST_DELEGATE_OneParam( FOpenFileFailed, const FString& /*InFilename*/);
|
|
|
|
/**
|
|
* Module used to access source code
|
|
*/
|
|
class ISourceCodeAccessModule : public IModuleInterface
|
|
{
|
|
public:
|
|
/**
|
|
* Check to see if source code can be accessed.
|
|
* @return true if source code can be accessed.
|
|
*/
|
|
virtual bool CanAccessSourceCode() const = 0;
|
|
|
|
/**
|
|
* Checks if a compiler is available
|
|
* @return true if source code can be compiled.
|
|
*/
|
|
virtual bool CanCompileSourceCode() const = 0;
|
|
|
|
/**
|
|
* Get the accessor to allow us to view source code
|
|
* @return the accessor.
|
|
*/
|
|
virtual ISourceCodeAccessor& GetAccessor() const = 0;
|
|
|
|
/**
|
|
* Set the accessor we want to use to view source code
|
|
* @param InName The name of the accessor we want to use
|
|
*/
|
|
virtual void SetAccessor(const FName& InName) = 0;
|
|
|
|
/** Gets the Event that is broad casted when attempting to launch visual studio */
|
|
virtual FLaunchingCodeAccessor& OnLaunchingCodeAccessor() = 0;
|
|
|
|
/** Gets the Event that is broadcasted when an attempted launch of this code accessor was successful or failed */
|
|
virtual FDoneLaunchingCodeAccessor& OnDoneLaunchingCodeAccessor() = 0;
|
|
|
|
/** Gets the Event that is broadcast when an attempt to load a file through Visual Studio failed */
|
|
virtual FOpenFileFailed& OnOpenFileFailed() = 0;
|
|
};
|