Files
2016-07-27 00:32:34 -04:00

62 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Installables.All
{
/// <summary>
/// All Components that install themselves must support this interface
/// </summary>
public interface IInstallComponent
{
/// <summary>
/// Get the Corresponding Component for this IInstallComponent
/// </summary>
/// <returns>the component for this IInstallCompoent</returns>
ComponentConfig.Component GetComponent();
/// <summary>
/// Used to determine if the component is needed to install
/// </summary>
/// <returns>true to continue to Install, false otherwise</returns>
bool BEFORE_INSTALLING_COMPONENT();
/// <summary>
/// Used to install a component
/// </summary>
/// <returns>true, if install was successful, false otherwise</returns>
bool INSTALL_COMPONENT();
/// <summary>
/// Used to do any validation after install occured
/// </summary>
/// <returns>true, if validation was successful, false otherwise</returns>
bool AFTER_INSTALLING_COMPONENT();
/// <summary>
/// Used to determine if the component supports uninstalling
/// </summary>
/// <returns>true, if component supports uninstalling, false otherwise</returns>
bool SUPPORTS_UNINSTALL();
/// <summary>
/// Used to determine if the component is needed to uninstall
/// </summary>
/// <returns>true to continue to uninstall, false otherwise</returns>
bool BEFORE_UNINSTALLING_COMPONENT();
/// <summary>
/// Used to uninstall a component
/// </summary>
/// <returns>true, if uninstall was successful, false otherwise</returns>
bool UNINSTALL_COMPONENT();
/// <summary>
/// Used to do any validation after uninstall occured
/// </summary>
/// <returns>true, if validation was successful, false otherwise</returns>
bool AFTER_UNINSTALLING_COMPONENT();
}
}