JD2022-TU1/main/tools/framework/ShuttleInstaller/IShuttleInstaller.cs

37 lines
No EOL
1.1 KiB
C#

using Plume.Core.Logging;
namespace ShuttleInstaller
{
public interface IShuttleInstaller
{
/// <summary>
/// Path to the folder where Shuttle is installed.
/// </summary>
string InstallationFolder { get; }
/// <summary>
/// Returns true if Shuttle is properly installed. Will be false on initialization, call <see cref="CheckInstallation"/> to update this property.
/// </summary>
bool IsProperlyInstalled { get; }
/// <summary>
/// Returns the supported version of Shuttle.
/// </summary>
string ShuttleVersion { get; }
/// <summary>
/// Install Shuttle in <see cref="InstallationFolder"/>.
/// </summary>
void Install(ILogger logger);
/// <summary>
/// Ensure the installation is correct. Calling this method will update the <see cref="IsProperlyInstalled"/> property.
/// </summary>
void CheckInstallation(ILogger logger);
/// <summary>
/// Uninstall Shuttle from <see cref="InstallationFolder"/>.
/// </summary>
void Uninstall(ILogger logger);
}
}