ISourceControlProvider

Interface to talking with source control providers.

Windows
MacOS
Linux

Inheritance Hierarchy

IModularFeature

ISourceControlProvider

References

Module

SourceControl

Header

/Engine/Source/Developer/SourceControl/Public/ISourceControlProvider.h

Include

#include "ISourceControlProvider.h"

Syntax

class ISourceControlProvider : public IModularFeature

Remarks

Interface to talking with source control providers.

Destructors

Name Description

Public function Virtual

~ISourceControlProvider()

Virtual destructor

Functions

Name Description

Public function Const

bool

 

CanCancelOperation

(
    const TSharedRef< ISourceControlOpe...
)

Check to see if we can cancel an operation.

Public function

void

 

CancelOperation

(
    const TSharedRef< ISourceControlOpe...
)

Attempt to cancel an operation in progress.

Public function

void

 

Close()

Shut down source control provider.

Public function Virtual

ECommandResu...

 

Execute

(
    const TSharedRef< ISourceControlOpe...,
    const TArray< UPackage* >& In...,
    const EConcurrency::Type InConcurre...,
    const FSourceControlOperationComple...
)

Helper overload for operation execution, see Execute().

Public function Virtual

ECommandResu...

 

Execute

(
    const TSharedRef< ISourceControlOpe...,
    const FString& InFile,
    const EConcurrency::Type InConcurre...,
    const FSourceControlOperationComple...
)

Helper overload for operation execution, see Execute().

Public function Virtual

ECommandResu...

 

Execute

(
    const TSharedRef< ISourceControlOpe...,
    const UPackage* InPackage,
    const EConcurrency::Type InConcurre...,
    const FSourceControlOperationComple...
)

Helper overload for operation execution, see Execute().

Public function

ECommandResu...

 

Execute

(
    const TSharedRef< ISourceControlOpe...,
    const TArray< FString >& InFiles,
    EConcurrency::Type InConcurrency,
    const FSourceControlOperationComple...
)

Attempt to execute an operation on the passed-in files (if any are required).

Public function Virtual

ECommandResu...

 

Execute

(
    const TSharedRef< ISourceControlOpe...,
    const EConcurrency::Type InConcurre...,
    const FSourceControlOperationComple...
)

Helper overload for operation execution, see Execute().

Public function Const

TArray< FSou...

 

GetCachedStateByPredicate

(
    TFunctionRef< bool(const FSourceCon...
)

Get all cached source control state objects for which the supplied predicate returns true

Public function Virtual Const

TSharedPtr< ...

 

GetLabel

(
    const FString& InLabelName
)

Get a label matching the passed-in name.

Public function Const

TArray< TSha...

 

GetLabels

(
    const FString& InMatchingSpec
)

Get an array of labels matching the passed-in spec.

Public function Const

const FName ...

 

GetName()

Get the source control provider name

Public function Virtual

TSharedPtr< ...

 

GetState

(
    const UPackage* InPackage,
    EStateCacheUsage::Type InStateCache...
)

Helper overload for state retrieval, see GetState().

Public function Virtual

TSharedPtr< ...

 

GetState

(
    const FString& InFile,
    EStateCacheUsage::Type InStateCache...
)

Helper overload for state retrieval, see GetState().

Public function Virtual

ECommandResu...

 

GetState

(
    const TArray< UPackage* >& In...,
    TArray< TSharedRef< ISourceControlS...,
    EStateCacheUsage::Type InStateCache...
)

Helper overload for state retrieval, see GetState().

Public function

ECommandResu...

 

GetState

(
    const TArray< FString >& InFiles,
    TArray< TSharedRef< ISourceControlS...,
    EStateCacheUsage::Type InStateCache...
)

Get the state of each of the passed-in files.

Public function Const

int32

 

GetStateBranchIndex

(
    const FString& BranchName
)

Gets the state index of the specified branch, higher index branches are generally closer to releases

Public function Const

FText

 

GetStatusText()

Get the source control status as plain, human-readable text

Public function

void

 

Init

(
    bool bForceConnection
)

Initialize source control provider.

Public function Const

bool

 

IsAvailable()

Quick check if source control is available for use (server-based providers can use this to return whether the server is available or not)

Public function Const

bool

 

IsEnabled()

Quick check if source control is enabled.

Public function Virtual

ECommandResu...

 

Login

(
    const FString& InPassword,
    EConcurrency::Type InConcurrency,
    const FSourceControlOperationComple...
)

Login to the source control server (if any).

Public function Const

TSharedRef< ...

 

MakeSettingsWidget()

Create a settings widget for display in the login window.

Public function

bool

 

QueryStateBranchConfig

(
    const FString& ConfigSrc,
    const FString& ConfigDest
)

Queries branch configuration from source control

Public function

FDelegateHan...

 

RegisterSourceControlStateChanged_Handle

(
    const FSourceControlStateChanged::F...
)

Register a delegate to be called when source control state(s) change

Public function

void

 

RegisterStateBranches

(
    const TArray< FString >& BranchNam...,
    const FString& ContentRoot
)

Register branches to query for state in addition to the current branch

Public function

void

 

Tick()

Called every update.

Public function

void

 

UnregisterSourceControlStateChanged_Handle

(
    FDelegateHandle Handle
)

Unregister a delegate to be called when source control state(s) change

Public function Const

bool

 

UsesChangelists()

Whether the provider uses changelists to identify commits/revisions

Public function Const

bool

 

UsesCheckout()

Whether the provider uses the checkout workflow

Public function Const

bool

 

UsesLocalReadOnlyState()

Whether the provider uses local read-only state to signal whether a file is editable.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback