1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 * This file is part of LibreOffice published API.
23 #ifndef INCLUDED_CPPUHELPER_SHLIB_HXX
24 #define INCLUDED_CPPUHELPER_SHLIB_HXX
26 #include "cppuhelper/cppuhelperdllapi.h"
27 #include "com/sun/star/uno/Reference.h"
28 #include "rtl/ustring.hxx"
30 namespace com
{ namespace sun
{ namespace star
{ namespace lang
{ class XMultiServiceFactory
; } } } }
31 namespace com
{ namespace sun
{ namespace star
{ namespace registry
{ class XRegistryKey
; } } } }
32 namespace com
{ namespace sun
{ namespace star
{ namespace uno
{ class XInterface
; } } } }
37 /** Loads a shared library component and gets the factory out of it. You can give either a
38 fully qualified libname or single lib name. The libname need not be pre/postfixed
42 This should never have been put into the URE interface. Do not call it from
45 @param uri URI of the library
46 @param rPath deprecated, must be empty
47 @param rImplName implementation to be retrieved from the library
48 @param xMgr service manager to be provided to the component
49 @param xKey deprecated, must be null
51 factory instance (css::lang::XSingleComponentFactory or legacy
52 css::lang::XSingleServiceFactory)
54 CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::uno::XInterface
>
55 SAL_CALL
loadSharedLibComponentFactory(
56 ::rtl::OUString
const & uri
,
57 ::rtl::OUString
const & rPath
,
58 ::rtl::OUString
const & rImplName
,
59 css::uno::Reference
< css::lang::XMultiServiceFactory
> const & xMgr
,
60 css::uno::Reference
< css::registry::XRegistryKey
> const & xKey
);
62 /** Invokes component_writeInfo() function of specified component library. You can give either
63 a fully qualified libname or single lib name. The libname need not be pre/postfixed
67 This should never have been put into the URE interface. Do not call it from
68 client code. Also, this functionality is not needed for passively
69 registered components, only for actively registered legacy ones.
71 @param uri URI of the library
72 @param rPath deprecated, must be empty
73 @param xMgr service manager to be provided to the component
74 @param xKey registry key to be provided to the component
76 CPPUHELPER_DLLPUBLIC
void
77 SAL_CALL
writeSharedLibComponentInfo(
78 ::rtl::OUString
const & uri
,
79 ::rtl::OUString
const & rPath
,
80 css::uno::Reference
< css::lang::XMultiServiceFactory
> const & xMgr
,
81 css::uno::Reference
< css::registry::XRegistryKey
> const & xKey
);
83 } // end namespace cppu
87 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */