// **************************************************************** // Copyright 2007, Charlie Poole // This is free software licensed under the NUnit license. You may // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 // **************************************************************** using System; namespace NUnit.Core.Extensibility { /// /// Represents a single point of extension for NUnit. Some extension /// points may accept only a single extension, while others may /// accept more than one at the same time. /// public interface IExtensionPoint { /// /// Get the name of this extension point /// string Name { get; } /// /// Get the host that provides this extension point /// IExtensionHost Host { get; } /// /// Install an extension at this extension point. If the /// extension object does not meet the requirements for /// this extension point, an exception is thrown. /// /// The extension to install void Install( object extension ); /// /// Removes an extension from this extension point. If the /// extension object is not present, the method returns /// without error. /// void Remove( object extension ); } }