shell/source/backends/kf5be/kf5backend.cxx   |   34 ++++-----------------------
 shell/source/backends/kf5be/kf5be1.component |    5 ++-
 2 files changed, 9 insertions(+), 30 deletions(-)

New commits:
commit 3e572e8c058d202a8266aa66af3e658cd9c54db4
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Thu Jul 16 10:43:21 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Jul 16 12:33:26 2020 +0200

    shell/kf5: create instances with uno constructors
    
    See tdf#74608 for motivation.
    
    Change-Id: I45cf95f39f5d3bcab23000422b1348c72782acc1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98880
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/shell/source/backends/kf5be/kf5backend.cxx 
b/shell/source/backends/kf5be/kf5backend.cxx
index 44d0134d394f..9948e41a9888 100644
--- a/shell/source/backends/kf5be/kf5backend.cxx
+++ b/shell/source/backends/kf5be/kf5backend.cxx
@@ -50,17 +50,6 @@
 
 namespace
 {
-OUString getServiceImplementationName()
-{
-    return "com.sun.star.comp.configuration.backend.KF5Backend";
-}
-
-css::uno::Sequence<OUString> getServiceSupportedServiceNames()
-{
-    OUString name("com.sun.star.configuration.backend.KF5Backend");
-    return css::uno::Sequence<OUString>(&name, 1);
-}
-
 class Service : public cppu::WeakImplHelper<css::lang::XServiceInfo, 
css::beans::XPropertySet>,
                 private boost::noncopyable
 {
@@ -72,7 +61,7 @@ private:
 
     virtual OUString SAL_CALL getImplementationName() override
     {
-        return getServiceImplementationName();
+        return "com.sun.star.comp.configuration.backend.KF5Backend";
     }
 
     virtual sal_Bool SAL_CALL supportsService(OUString const& ServiceName) 
override
@@ -82,7 +71,7 @@ private:
 
     virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() 
override
     {
-        return getServiceSupportedServiceNames();
+        return { "com.sun.star.configuration.backend.KF5Backend" };
     }
 
     virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL 
getPropertySetInfo() override
@@ -252,22 +241,11 @@ css::uno::Any Service::getPropertyValue(OUString const& 
PropertyName)
     throw css::beans::UnknownPropertyException(PropertyName, 
static_cast<cppu::OWeakObject*>(this));
 }
 
-css::uno::Reference<css::uno::XInterface>
-createInstance(css::uno::Reference<css::uno::XComponentContext> const&)
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+shell_kf5desktop_get_implementation(css::uno::XComponentContext*,
+                                    css::uno::Sequence<css::uno::Any> const&)
 {
-    return static_cast<cppu::OWeakObject*>(new Service);
+    return cppu::acquire(new Service());
 }
-
-cppu::ImplementationEntry const services[]
-    = { { &createInstance, &getServiceImplementationName, 
&getServiceSupportedServiceNames,
-          &cppu::createSingleComponentFactory, nullptr, 0 },
-        { nullptr, nullptr, nullptr, nullptr, nullptr, 0 } };
 }
-
-extern "C" SAL_DLLPUBLIC_EXPORT void*
-kf5be1_component_getFactory(char const* pImplName, void* pServiceManager, 
void* pRegistryKey)
-{
-    return cppu::component_getFactoryHelper(pImplName, pServiceManager, 
pRegistryKey, services);
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/backends/kf5be/kf5be1.component 
b/shell/source/backends/kf5be/kf5be1.component
index ad217dc80e66..dd893bcb6708 100644
--- a/shell/source/backends/kf5be/kf5be1.component
+++ b/shell/source/backends/kf5be/kf5be1.component
@@ -18,8 +18,9 @@
  -->
 
 <component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
-    prefix="kf5be1" xmlns="http://openoffice.org/2010/uno-components";>
-  <implementation name="com.sun.star.comp.configuration.backend.KF5Backend">
+    xmlns="http://openoffice.org/2010/uno-components";>
+  <implementation name="com.sun.star.comp.configuration.backend.KF5Backend"
+    constructor="shell_kf5desktop_get_implementation">
     <service name="com.sun.star.configuration.backend.KF5Backend"/>
   </implementation>
 </component>
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to