namespace Toolbox.Docking.Api.Objects
{
    /// <summary>
    /// The object factory class implementing the interface declares that it has a method for deleting.
    /// Whether the object can be deleted or not is further controlled by the IObjectFactory.Flags attribute
    /// </summary>
    public interface ITbObjectFactoryDelete : ITbObjectFactory
    {
        /// <summary>
        /// This method should free resources, remove configurations, un-register the object or whatever is required to stop the object from docking into the system anymore. 
        /// </summary>
        /// <returns>Return true if the object has been successfully removed.</returns>
        bool Delete();
    }
}