summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-07-16 10:43:21 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-07-16 12:33:26 +0200
commit3e572e8c058d202a8266aa66af3e658cd9c54db4 (patch)
tree3a54910e7856250e5e15bee6dccfa9ac03311d70 /shell
parent6dbfba16d86b81419d833c6ab2c4904b67770069 (diff)
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.grandin@collabora.co.uk>
Diffstat (limited to 'shell')
-rw-r--r--shell/source/backends/kf5be/kf5backend.cxx34
-rw-r--r--shell/source/backends/kf5be/kf5be1.component5
2 files changed, 9 insertions, 30 deletions
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>