summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-12-13 15:10:18 +0100
committerStephan Bergmann <sbergman@redhat.com>2013-12-13 15:13:57 +0100
commit2f7b329297c65d75f428d389a53b5822e38b0ec5 (patch)
tree258fa3c153d972bfa961937686e39dc2275b5a57 /cppuhelper
parent445d3d8484d6e480f461de305c9dc4def067cf20 (diff)
[API CHANGE] remove cppu::loadSharedLibComponentFactory w/ rPrefix again
...it was never meant to be called by client code anyway and is no longer needed to be exposed since the global service manager implementation moved to cppuhelper. Change-Id: If2d0510b2364084d36edeb156a3459d9b8aeb983
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/source/compat.cxx11
-rw-r--r--cppuhelper/source/loadsharedlibcomponentfactory.hxx34
-rw-r--r--cppuhelper/source/servicemanager.cxx7
-rw-r--r--cppuhelper/source/shlib.cxx48
4 files changed, 79 insertions, 21 deletions
diff --git a/cppuhelper/source/compat.cxx b/cppuhelper/source/compat.cxx
index c5075402f5ad..97605b01826b 100644
--- a/cppuhelper/source/compat.cxx
+++ b/cppuhelper/source/compat.cxx
@@ -103,6 +103,17 @@ invokeStaticComponentFactory(
for (;;) { std::abort(); } // avoid "must return a value" warnings
}
+SAL_DLLPUBLIC_EXPORT css::uno::Reference<css::uno::XInterface> SAL_CALL
+loadSharedLibComponentFactory(
+ rtl::OUString const &, rtl::OUString const &, rtl::OUString const &,
+ css::uno::Reference<css::lang::XMultiServiceFactory> const &,
+ css::uno::Reference<css::registry::XRegistryKey> const &,
+ rtl::OUString const &)
+ SAL_THROW((css::loader::CannotActivateFactoryException))
+{
+ for (;;) { std::abort(); } // avoid "must return a value" warnings
+}
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppuhelper/source/loadsharedlibcomponentfactory.hxx b/cppuhelper/source/loadsharedlibcomponentfactory.hxx
new file mode 100644
index 000000000000..b0986dd76f48
--- /dev/null
+++ b/cppuhelper/source/loadsharedlibcomponentfactory.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef CPPUHELPER_SOURCE_LOADSHAREDLIBCOMPONENTFACTORY_HXX
+#define CPPUHELPER_SOURCE_LOADSHAREDLIBCOMPONENTFACTORY_HXX
+
+#include <sal/config.h>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace com { namespace sun { namespace star {
+ namespace lang { class XMultiServiceFactory; }
+ namespace uno { class XInterface; }
+} } }
+namespace rtl { class OUString; }
+
+namespace cppuhelper { namespace detail {
+
+css::uno::Reference<css::uno::XInterface> loadSharedLibComponentFactory(
+ rtl::OUString const & uri, rtl::OUString const & prefix,
+ rtl::OUString const & rImplName,
+ css::uno::Reference<css::lang::XMultiServiceFactory> const & xMgr);
+
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index 055bdd37b6d0..ae2060d06058 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -41,6 +41,8 @@
#include "rtl/strbuf.hxx"
#include "sal/log.hxx"
+#include <loadsharedlibcomponentfactory.hxx>
+
using rtl::OUString;
using rtl::OString;
using rtl::OStringBuffer;
@@ -652,9 +654,8 @@ void cppuhelper::ServiceManager::loadImplementation(
if (!prefix.isEmpty()) {
prefix += "_";
}
- f0 = cppu::loadSharedLibComponentFactory(
- uri, rtl::OUString(), info->name, this,
- css::uno::Reference< css::registry::XRegistryKey >(), prefix);
+ f0 = cppuhelper::detail::loadSharedLibComponentFactory(
+ uri, prefix, info->name, this);
} else {
SAL_WARN_IF(
!info->prefix.isEmpty(), "cppuhelper",
diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx
index e941b9d19f56..8ad77f516190 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -27,6 +27,8 @@
#include "com/sun/star/beans/XPropertySet.hpp"
+#include <loadsharedlibcomponentfactory.hxx>
+
#include <stdio.h>
#ifdef ANDROID
@@ -44,12 +46,11 @@ using namespace ::com::sun::star::uno;
using rtl::OString;
using rtl::OUString;
-namespace cppu
-{
+namespace {
#ifndef DISABLE_DYNLOADING
-static void getLibEnv(oslModule lib,
+void getLibEnv(oslModule lib,
uno::Environment * pEnv,
OUString * pSourceEnv_name,
uno::Environment const & cTargetEnv,
@@ -104,7 +105,7 @@ static void getLibEnv(oslModule lib,
#endif
-extern "C" {static void s_getFactory(va_list * pParam)
+extern "C" void s_getFactory(va_list * pParam)
{
component_getFactoryFunc pSym = va_arg(*pParam, component_getFactoryFunc);
OString const * pImplName = va_arg(*pParam, OString const *);
@@ -113,7 +114,12 @@ extern "C" {static void s_getFactory(va_list * pParam)
void ** ppSSF = va_arg(*pParam, void **);
*ppSSF = pSym(pImplName->getStr(), pSMgr, pKey);
-}}
+}
+
+}
+
+namespace cppu
+{
/* For backwards compatibility */
Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
@@ -122,7 +128,14 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
Reference< registry::XRegistryKey > const & xKey )
SAL_THROW( (loader::CannotActivateFactoryException) )
{
- return loadSharedLibComponentFactory( uri, rPath, rImplName, xMgr, xKey, rtl::OUString() );
+ assert(rPath.isEmpty());
+ assert(!xKey.is());
+ (void) rPath;
+ (void) xKey;
+ return cppuhelper::detail::loadSharedLibComponentFactory(
+ uri, "", rImplName, xMgr);
+}
+
}
namespace
@@ -255,17 +268,12 @@ extern "C"
}
#endif
-Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
- OUString const & uri, OUString const & rPath, OUString const & rImplName,
- Reference< lang::XMultiServiceFactory > const & xMgr,
- Reference< registry::XRegistryKey > const & xKey,
- OUString const & rPrefix )
- SAL_THROW( (loader::CannotActivateFactoryException) )
+namespace cppuhelper { namespace detail {
+
+css::uno::Reference<css::uno::XInterface> loadSharedLibComponentFactory(
+ OUString const & uri, OUString const & rPrefix, OUString const & rImplName,
+ css::uno::Reference<css::lang::XMultiServiceFactory> const & xMgr)
{
- assert(rPath.isEmpty());
- assert(!xKey.is());
- (void) rPath;
- (void) xKey;
#ifndef DISABLE_DYNLOADING
OUString moduleUri(uri);
@@ -387,6 +395,8 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
return xRet;
}
+} }
+
#ifndef DISABLE_DYNLOADING
//==============================================================================
@@ -401,6 +411,8 @@ extern "C" { static void s_writeInfo(va_list * pParam)
}}
+namespace cppu {
+
void SAL_CALL writeSharedLibComponentInfo(
OUString const & uri, OUString const & rPath,
Reference< lang::XMultiServiceFactory > const & xMgr,
@@ -502,8 +514,8 @@ void SAL_CALL writeSharedLibComponentInfo(
}
}
-#endif // DISABLE_DYNLOADING
-
}
+#endif // DISABLE_DYNLOADING
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */