// 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 "CoreMinimal.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 FGitSourceControlWorkerRef;