32 lines
893 B
C++
32 lines
893 B
C++
// Copyright (c) 2014-2020 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
|
//
|
|
// Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
|
|
// or copy at http://opensource.org/licenses/MIT)
|
|
|
|
#pragma once
|
|
|
|
#include "Templates/SharedPointer.h"
|
|
|
|
class IGitSourceControlWorker
|
|
{
|
|
public:
|
|
|
|
/**
|
|
* Name describing the work that this worker does. Used for factory method hookup.
|
|
*/
|
|
virtual FName GetName() const = 0;
|
|
|
|
/**
|
|
* Function that actually does the work. Can be executed on another thread.
|
|
*/
|
|
virtual bool Execute( class FGitSourceControlCommand& InCommand ) = 0;
|
|
|
|
/**
|
|
* Updates the state of any items after completion (if necessary). This is always executed on the main thread.
|
|
* @returns true if states were updated
|
|
*/
|
|
virtual bool UpdateStates() const = 0;
|
|
};
|
|
|
|
typedef TSharedRef<IGitSourceControlWorker, ESPMode::ThreadSafe> FGitSourceControlWorkerRef;
|