//------------------------------------------------------------------------------ // <copyright file="IServiceObjectContainer.cs" company="Microsoft"> // Copyright (c) Microsoft Corporation. All rights reserved. // </copyright> //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel.Design { using System; /// <devdoc> /// This interface provides a container for services. A service container /// is, by definition, a service provider. In addition to providing services /// it also provides a mechanism for adding and removing services. /// </devdoc> [System.Runtime.InteropServices.ComVisible(true)] public interface IServiceContainer : IServiceProvider { /// <devdoc> /// Adds the given service to the service container. /// </devdoc> void AddService(Type serviceType, object serviceInstance); /// <devdoc> /// Adds the given service to the service container. /// </devdoc> void AddService(Type serviceType, object serviceInstance, bool promote); /// <devdoc> /// Adds the given service to the service container. /// </devdoc> void AddService(Type serviceType, ServiceCreatorCallback callback); /// <devdoc> /// Adds the given service to the service container. /// </devdoc> void AddService(Type serviceType, ServiceCreatorCallback callback, bool promote); /// <devdoc> /// Removes the given service type from the service container. /// </devdoc> void RemoveService(Type serviceType); /// <devdoc> /// Removes the given service type from the service container. /// </devdoc> void RemoveService(Type serviceType, bool promote); } }