Files
UnrealEngineUWP/Engine/Source/Developer/SourceCodeAccess/Private/SourceCodeAccessModule.h
Jamie Dale a3928adc10 Fixed VS_OPEN logspam caused by a deferred command being constantly requested until VS had finished opening
TTP# 331398 - EDITOR: Logspam when opening Visual Studio

Deferring a VS file open request used to use a deferred command to wait until VS had finished opening before opening the requested files, however, this command was essentially simulating a Tick, as if the command was not yet ready to be processed it was simply deferred again, leading to spammed output.

Rather than do this, I've added a Tick function which will attempt to open the entire list of pending files as a single call, rather than try each file individually like the command would.

ReviewedBy Thomas.Sarkanen, Chris.Wood, Max.Preussner

[CL 2058815 by Jamie Dale in Main branch]
2014-04-29 11:36:21 -04:00

47 lines
1.5 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 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 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;
};