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_registry_XImplementationRegistration_idl__ 28#define __com_sun_star_registry_XImplementationRegistration_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_registry_XSimpleRegistry_idl__ 35#include <com/sun/star/registry/XSimpleRegistry.idl> 36#endif 37 38#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__ 39#include <com/sun/star/registry/CannotRegisterImplementationException.idl> 40#endif 41 42 43//============================================================================= 44 45 module com { module sun { module star { module registry { 46 47//============================================================================= 48 49// DocMerge from xml: interface com::sun::star::registry::XImplementationRegistration 50/** offers a registry for implementation objects and provides information 51 about the registered implementations. 52 */ 53published interface XImplementationRegistration: com::sun::star::uno::XInterface 54{ 55 //------------------------------------------------------------------------- 56 57 // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::registerImplementation 58 /** registers a component which provides one or more implementations. 59 60 @param aLocation 61 specifies the location of the component with the URL. 62 63 @param xReg 64 specifies the registry where the component should be installed. 65 If it is a NULL interface, then the component will be installed 66 in the system registry (if this feature is supported). 67 */ 68 void registerImplementation( [in] string aImplementationLoader, 69 [in] string aLocation, 70 [in] com::sun::star::registry::XSimpleRegistry xReg ) 71 raises( com::sun::star::registry::CannotRegisterImplementationException ); 72 73 //------------------------------------------------------------------------- 74 75 // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::revokeImplementation 76 /** revokes a component and all their provided implementations from the registry. 77 78 @param aLocation 79 specifies the location of the component with the URL. 80 81 @param xReg 82 specifies the registry where the component should be installed. 83 If it is a NULL interface, then the component will be revoked 84 from the system registry (if this feature is supported). 85 */ 86 boolean revokeImplementation( [in] string aLocation, 87 [in] com::sun::star::registry::XSimpleRegistry xReg ); 88 89 //------------------------------------------------------------------------- 90 // DOCUMENTATION CHANGED FOR XImplementationRegistration::getImplementations 91 92 // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::getImplementations 93 /** @returns 94 the names of the implementations registered by the url location. 95 96 @param aImplementationLoader 97 specifies the name of the needed loader for this type of implementation. For 98 example, the loader "com.sun.star.loader.SharedLibrary" for implementations 99 that are realized as an SharedLibrary. 100 101 @param aLocation 102 specifies the location of the component with the URL. 103 */ 104 sequence<string> getImplementations( [in] string aImplementationLoader, 105 [in] string aLocation ); 106 107 //------------------------------------------------------------------------- 108 // DOCUMENTATION CHANGED FOR XImplementationRegistration::checkInstantiation 109 110 // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::checkInstantiation 111 /** @returns 112 a sequence with names of the missing services to create an instance of this implementation. 113 114 @param implementationName 115 specifies the name of the checked implementation. 116 */ 117 sequence<string> checkInstantiation( [in] string implementationName ); 118 119}; 120 121//============================================================================= 122 123}; }; }; }; 124 125/*============================================================================= 126 127=============================================================================*/ 128#endif 129