1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_lang_MultiServiceFactory_idl__ 24#define __com_sun_star_lang_MultiServiceFactory_idl__ 25 26#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ 27#include <com/sun/star/lang/XMultiServiceFactory.idl> 28#endif 29#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ 30#include <com/sun/star/lang/XMultiComponentFactory.idl> 31#endif 32 33#ifndef __com_sun_star_lang_XServiceInfo_idl__ 34#include <com/sun/star/lang/XServiceInfo.idl> 35#endif 36 37 38//============================================================================= 39 40module com { module sun { module star { module lang { 41 42//============================================================================= 43 44/** Provides a collection of implementations of services. 45 46 <p>The factories for instantiating objects of implemetations 47 are accessed via a service name.</p> 48 49 <p>The <type scope="com::sun::star::container">XContentEnumerationAccess</type> 50 interface can be supported optionally. 51 If it is suported, it is possible to enumerate all implementations that 52 support the service specified with the argument of 53 <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member>. 54 The enumerator returns interfaces. The type of the interface is not specified. 55 Commonly this is <type>XSingleComponentFactory</type>.</p> 56*/ 57published service MultiServiceFactory 58{ 59 /** This interface uses a service name to instantiate a component 60 which supports the specified service. 61 */ 62 interface com::sun::star::lang::XMultiServiceFactory; 63 64 /** This interface uses a service name and a component context to instantiate 65 a component which supports the specified service. 66 */ 67 interface com::sun::star::lang::XMultiComponentFactory; 68 69 /** Factories, as well as all other services, should always support 70 this interface. 71 */ 72 interface com::sun::star::lang::XServiceInfo; 73}; 74 75//============================================================================= 76 77}; }; }; }; 78 79/*============================================================================= 80 81=============================================================================*/ 82#endif 83