1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ 28#define __com_sun_star_lang_XMultiServiceFactory_idl__ 29 30#ifndef __com_sun_star_uno_XInterface_idl__ 31#include <com/sun/star/uno/XInterface.idl> 32#endif 33 34#ifndef __com_sun_star_uno_Exception_idl__ 35#include <com/sun/star/uno/Exception.idl> 36#endif 37 38 39//============================================================================= 40 41module com { module sun { module star { module lang { 42 43//============================================================================= 44 45/** Factories support this interface creating instances giving a name, 46 e.g. a service name. 47 48 <p> 49 Note: 50 Although this interface deals with the notion of "services", this is not 51 generally be meant. In general this interface can be used for all kinds 52 of factories for all kinds of instances, indeed not only UNO services. 53 </p> 54*/ 55published interface XMultiServiceFactory: com::sun::star::uno::XInterface 56{ 57 /** Creates an instance classified by the specified name. 58 59 @param aServiceSpecifier 60 classified name of instance 61 @return 62 instance 63 */ 64 com::sun::star::uno::XInterface createInstance( [in] string aServiceSpecifier ) 65 raises( com::sun::star::uno::Exception ); 66 67 /** Creates an instance classified by the specified name and passes the arguments 68 to that instance. 69 70 @param ServiceSpecifier 71 classified name of instance 72 @param Arguments 73 arguments passed to the instance 74 @return 75 instance 76 */ 77 com::sun::star::uno::XInterface createInstanceWithArguments( 78 [in] string ServiceSpecifier, 79 [in] sequence<any> Arguments ) 80 raises( com::sun::star::uno::Exception ); 81 82 /** Provides the available names of the factory to be used to create instances. 83 84 @returns 85 sequence of all names 86 */ 87 sequence<string> getAvailableServiceNames(); 88}; 89 90//============================================================================= 91 92}; }; }; }; 93 94/*============================================================================= 95 96=============================================================================*/ 97#endif 98