| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_lang_ServiceManager_idl__ |
| #define __com_sun_star_lang_ServiceManager_idl__ |
| |
| #ifndef __com_sun_star_lang_MultiServiceFactory_idl__ |
| #include <com/sun/star/lang/MultiServiceFactory.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_XComponent_idl__ |
| #include <com/sun/star/lang/XComponent.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_XSet_idl__ |
| #include <com/sun/star/container/XSet.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_XContentEnumerationAccess_idl__ |
| #include <com/sun/star/container/XContentEnumerationAccess.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ |
| #include <com/sun/star/lang/XMultiServiceFactory.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ |
| #include <com/sun/star/lang/XMultiComponentFactory.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_XServiceInfo_idl__ |
| #include <com/sun/star/lang/XServiceInfo.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XPropertySet_idl__ |
| #include <com/sun/star/beans/XPropertySet.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module lang { |
| |
| //============================================================================= |
| |
| /** Provides a collection of implementations for services. This is a singleton |
| you commonly find in your component context under key |
| <code>/singletons/com.sun.star.lang.theServiceManager</code>. |
| |
| <p> |
| The factories are accessed with a service name. It is possible to |
| access the factories with their implementation names, but you should |
| avoid this. |
| </p> |
| |
| <p>Service factories added via <type scope="com::sun::star::container">XSet</type> |
| should support the following interfaces: </p> |
| |
| <dl> |
| <dt><type>XServiceInfo</type></dt> |
| <dd>supported interfaces/ implementation name</dd> |
| |
| <dt><type>XSingleComponentFactory</type>(optional)</dt> |
| <dd>is used to create instances of the implementation.</dd> |
| |
| <dt><type>XComponent</type> (optional)</dt> |
| <dd>The service manager calls the method |
| <member scope="com::sun::star::lang">XComponent::dispose</member> |
| on the factory when going down (i.e. it is commonly disposed by the component context).</dd> |
| </dl> |
| |
| @see com::sun::star::uno::XComponentContext |
| */ |
| published service ServiceManager |
| { |
| /** This is a derived MultiServiceFactory service. |
| */ |
| service com::sun::star::lang::MultiServiceFactory; |
| |
| /** Disposing of service manager. |
| <p> |
| The component context disposes its service manager singleton when going down |
| (i.e. when the component context is disposed). |
| </p> |
| */ |
| interface com::sun::star::lang::XComponent; |
| |
| /** Management of service factories. |
| */ |
| interface com::sun::star::container::XSet; |
| |
| /** Enumeration of all service factories. |
| <p> |
| It is possible to enumerate all implementations that support the |
| service specified with the argument of the |
| <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member> method. |
| The enumerator commonly returns <type>XSingleComponentFactory</type> |
| interfaces. |
| </p> |
| */ |
| interface com::sun::star::container::XContentEnumerationAccess; |
| |
| /** Property access. |
| */ |
| [optional] interface com::sun::star::beans::XPropertySet; |
| /** specifies the default component context to be used, if instanciating services |
| via <type>XMultiServiceFactory</type> |
| */ |
| [optional, property] com::sun::star::uno::XComponentContext DefaultContext; |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| /*============================================================================= |
| |
| =============================================================================*/ |
| #endif |