Files
UnrealEngineUWP/Engine/Source/Developer/SourceCodeAccess/Private/SourceCodeAccessModule.h
Thomas Sarkanen 2e3d1f5aae #summary Source code access is now done via plugins
#ttp 330039 	EDITOR: Platform-agnostic editor code depends on Windows-only VSAccessor headers
#detail 	Source code access is now extensible via plugins, so any new editors can be easily added.
#add 	Added SourceCodeAccess module that routes access via plugins.
#change 	Moved much of the old VSAccessor code into a new VisualStudioSourceCodeAccess plugin.
#add 	Added a counterpart XCode plugin & migrated the code from FSourceCodeNavigation (Applescript etc.) into there.
#remove 	Removed applescript for XCode access (it is now done via code).
#remove 	Removed source code access functionality from platform layer.
#add 	Added details customization for source code access settings, so users can choose their own accessor.
#remove 	Removed dependencies on VSAccessor.
#change 	Changed API in SWidget to not require building a string to be parsed, instead this acesses and forwards filenames & line numbers.
#extra 	Tested on Mac by Mark S.
reviewed by 	Andrew.Brown

[CL 2048697 by Thomas Sarkanen in Main branch]
2014-04-23 19:19:51 -04:00

51 lines
1.7 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ISourceCodeAccessModule.h"
#include "DefaultSourceCodeAccessor.h"
/**
* Implementation of ISourceCodeAccessModule
*/
class FSourceCodeAccessModule : public ISourceCodeAccessModule
{
public:
FSourceCodeAccessModule();
/** IModuleInterface implementation */
virtual void StartupModule() OVERRIDE;
virtual void ShutdownModule() OVERRIDE;
/** ISourceCodeAccessModule implementation */
virtual bool CanAccessSourceCode() const OVERRIDE;
virtual ISourceCodeAccessor& GetAccessor() const OVERRIDE;
virtual void SetAccessor(const FName& InName) OVERRIDE;
virtual FLaunchingCodeAccessor& OnLaunchingCodeAccessor() OVERRIDE;
virtual FDoneLaunchingCodeAccessor& OnDoneLaunchingCodeAccessor() OVERRIDE;
virtual FLaunchCodeAccessorDeferred& OnLaunchCodeAccessorDeferred() OVERRIDE;
virtual FOpenFileFailed& OnOpenFileFailed() OVERRIDE;
private:
/** Handle when one of the modular features we are interested in is registered */
void HandleModularFeatureRegistered(const FName& Type);
private:
/** Event delegate fired when launching code accessor */
FLaunchingCodeAccessor LaunchingCodeAccessorDelegate;
/** Event delegate fired when done launching code accessor */
FDoneLaunchingCodeAccessor DoneLaunchingCodeAccessorDelegate;
/** Event delegate fired when launching code accessor deferred */
FLaunchCodeAccessorDeferred LaunchCodeAccessorDeferredDelegate;
/** Event delegate fired when opening a file has failed */
FOpenFileFailed OpenFileFailedDelegate;
/** The default accessor we will use if we have no IDE */
FDefaultSourceCodeAccessor DefaultSourceCodeAccessor;
/** The current accessor */
ISourceCodeAccessor* CurrentSourceCodeAccessor;
};