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