update dev300-m58
[ooovba.git] / udkapi / com / sun / star / loader / XImplementationLoader.idl
blob4cfddf08eb676a9db3c1a1026d16a41c469aec7a
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XImplementationLoader.idl,v $
10 * $Revision: 1.14 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_loader_XImplementationLoader_idl__
31 #define __com_sun_star_loader_XImplementationLoader_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
37 #ifndef __com_sun_star_registry_XRegistryKey_idl__
38 #include <com/sun/star/registry/XRegistryKey.idl>
39 #endif
41 #ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__
42 #include <com/sun/star/registry/CannotRegisterImplementationException.idl>
43 #endif
45 #ifndef __com_sun_star_loader_CannotActivateFactoryException_idl__
46 #include <com/sun/star/loader/CannotActivateFactoryException.idl>
47 #endif
49 //=============================================================================
51 module com { module sun { module star { module loader {
53 //=============================================================================
55 /** handles activation (loading) of a UNO component.
56 @see com::sun::star::registry::XImplementationRegistration
58 published interface XImplementationLoader: com::sun::star::uno::XInterface
60 //-------------------------------------------------------------------------
62 /** activates a concrete implementation within a component.
63 @param implementationName The name of the implementation,
64 which shall be instantiated. The method
65 <member>XImplementationLoader::writeRegistryInfo</member>
66 writes a list of implementation names hosted by this component.
67 @param implementationLoaderUrl specification bug, ignore this parameter, please
68 pass an empty string.
69 @param locationUrl Points to the location of the file containing
70 the component (for instance a .jar-file or a shared library).
71 This parameter
72 should be in an URL format (= protocol:protocol-dependent-part).
73 In case the string contains no
74 leading "protocol:", the implementation in general assumes,
75 that it is a relative file url. <p>Special loaders may define
76 their own protocol (for instance an executable loader may need
77 more than only one file url).
79 @param xKey A registry which may be used to read static data previously
80 written via <method>XImplementationLoader::writeRegistryInfo()</method>.
81 The use of this parameter is deprecated.
83 @return returns a factory interface, which allows to create an instance of
84 the concrete implementation. In general, the object supports a
85 <type scope="com::sun::star::lang">XSingleComponentFactory</type>
86 and the <type scope="com::sun::star::lang">XServiceInfo</type> interface. The
87 XServiceInfo interface informs about the capabilities of the
88 service implementation, not the factory itself.
90 com::sun::star::uno::XInterface activate( [in] string implementationName,
91 [in] string implementationLoaderUrl,
92 [in] string locationUrl,
93 [in] com::sun::star::registry::XRegistryKey xKey )
94 raises( com::sun::star::loader::CannotActivateFactoryException );
96 //-------------------------------------------------------------------------
97 /** writes a list of all implementations hosted by this component into a registry key.
98 <p>This method is called during registering a component.
99 @param xKey The registry key, which shall be used to write for each
100 implementation the implementation name plus a list of supported
101 services.
102 @param implementationLoaderUrl specification bug, ignore this parameter, please
103 pass an empty string.
104 @param locationUrl Points to the location of the file containing
105 the component (for instance a .jar-file or a shared library).
106 This parameter
107 should be in an URL format (= protocol:protocol-dependent-part).
108 In case the string contains no
109 leading &quot;protocol:&quot;, the implementation in general assumes,
110 that it is a relative file url. <p>Special loaders may define
111 their own protocol (for instance an executable loader may need
112 more than only one file url).
113 @see com::sun::star::registry::XImplementationRegistration
115 boolean writeRegistryInfo( [in] com::sun::star::registry::XRegistryKey xKey,
116 [in] string implementationLoaderUrl,
117 [in] string locationUrl )
118 raises( com::sun::star::registry::CannotRegisterImplementationException );
122 //=============================================================================
124 }; }; }; };
126 #endif