// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "ISourceControlState.h" #include "ISourceControlChangelist.h" typedef TSharedRef FSourceControlChangelistStateRef; typedef TSharedPtr FSourceControlChangelistStatePtr; /** * An abstraction of the state of a pending changelist under source control */ class ISourceControlChangelistState : public TSharedFromThis { public: /** * Virtual destructor */ virtual ~ISourceControlChangelistState() {} /** * Get the name of the icon graphic we should use to display the state in a UI. * @returns the name of the icon to display */ virtual FName GetIconName() const = 0; /** * Get the name of the small icon graphic we should use to display the state in a UI. * @returns the name of the icon to display */ virtual FName GetSmallIconName() const = 0; /** * Get a text representation of the state * @returns the text to display for this state */ virtual FText GetDisplayText() const = 0; /** * Get a text representation of the state * @returns the text to display for this state */ virtual FText GetDescriptionText() const = 0; /** * Get a tooltip to describe this state * @returns the text to display for this states tooltip */ virtual FText GetDisplayTooltip() const = 0; /** * Get the timestamp of the last update that was made to this state. * @returns the timestamp of the last update */ virtual const FDateTime& GetTimeStamp() const = 0; virtual const TArray& GetFilesStates() const = 0; virtual const TArray& GetShelvedFilesStates() const = 0; /** * Returns the object on which this state was constructed * @returns the changelist associated to this state */ virtual FSourceControlChangelistRef GetChangelist() const = 0; };