1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XImplementationLoader.idl,v $
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
>
37 #ifndef __com_sun_star_registry_XRegistryKey_idl__
38 #include
<com
/sun
/star
/registry
/XRegistryKey.idl
>
41 #ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__
42 #include
<com
/sun
/star
/registry
/CannotRegisterImplementationException.idl
>
45 #ifndef __com_sun_star_loader_CannotActivateFactoryException_idl__
46 #include
<com
/sun
/star
/loader
/CannotActivateFactoryException.idl
>
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
69 @param locationUrl Points to the location of the file containing
70 the component (for instance a .jar-file or a shared library).
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
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).
107 should be in an URL format (= protocol:protocol-dependent-part).
108 In case the string contains no
109 leading "protocol:", 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 //=============================================================================