tdf#158198 sw: prevent xBookmark.getAnchor().setString("") from deleting
[LibreOffice.git] / udkapi / com / sun / star / loader / XImplementationLoader.idl
blob58ed3ea9c88651f71432539388d2cdd2cf73d93d
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 module com { module sun { module star { module loader {
24 /** handles activation (loading) of a UNO component.
25 @see com::sun::star::registry::XImplementationRegistration
27 published interface XImplementationLoader: com::sun::star::uno::XInterface
30 /** activates a concrete implementation within a component.
31 @param implementationName The name of the implementation,
32 which shall be instantiated. The method
33 XImplementationLoader::writeRegistryInfo()
34 writes a list of implementation names hosted by this component.
35 @param implementationLoaderUrl specification bug, ignore this parameter, please
36 pass an empty string.
37 @param locationUrl Points to the location of the file containing
38 the component (for instance a .jar-file or a shared library).
39 This parameter
40 should be in a URL format (= protocol:protocol-dependent-part).
41 In case the string contains no
42 leading "protocol:", the implementation in general assumes,
43 that it is a relative file url. <p>Special loaders may define
44 their own protocol (for instance an executable loader may need
45 more than only one file url).
47 @param xKey A registry which may be used to read static data previously
48 written via XImplementationLoader::writeRegistryInfo().
49 The use of this parameter is deprecated.
51 @return returns a factory interface, which allows to create an instance of
52 the concrete implementation. In general, the object supports a
53 com::sun::star::lang::XSingleComponentFactory
54 and the com::sun::star::lang::XServiceInfo interface. The
55 XServiceInfo interface informs about the capabilities of the
56 service implementation, not the factory itself.
58 com::sun::star::uno::XInterface activate( [in] string implementationName,
59 [in] string implementationLoaderUrl,
60 [in] string locationUrl,
61 [in] com::sun::star::registry::XRegistryKey xKey )
62 raises( com::sun::star::loader::CannotActivateFactoryException );
64 /** writes a list of all implementations hosted by this component into a registry key.
65 <p>This method is called during registering a component.
66 @param xKey The registry key, which shall be used to write for each
67 implementation the implementation name plus a list of supported
68 services.
69 @param implementationLoaderUrl specification bug, ignore this parameter, please
70 pass an empty string.
71 @param locationUrl Points to the location of the file containing
72 the component (for instance a .jar-file or a shared library).
73 This parameter
74 should be in a URL format (= protocol:protocol-dependent-part).
75 In case the string contains no
76 leading &quot;protocol:&quot;, the implementation in general assumes,
77 that it is a relative file url. <p>Special loaders may define
78 their own protocol (for instance an executable loader may need
79 more than only one file url).
80 @see com::sun::star::registry::XImplementationRegistration
82 boolean writeRegistryInfo( [in] com::sun::star::registry::XRegistryKey xKey,
83 [in] string implementationLoaderUrl,
84 [in] string locationUrl )
85 raises( com::sun::star::registry::CannotRegisterImplementationException );
90 }; }; }; };
92 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */