[Libreoffice-commits] core.git: sw/Library_vbaswobj.mk sw/source sw/util
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jul 27 19:10:27 UTC 2020
sw/Library_vbaswobj.mk | 1
sw/source/ui/vba/service.cxx | 39 -----------------------------------
sw/source/ui/vba/service.hxx | 35 -------------------------------
sw/source/ui/vba/vbadocument.cxx | 13 ++++-------
sw/source/ui/vba/vbaeventshelper.cxx | 29 +++++++++++++++++---------
sw/source/ui/vba/vbaeventshelper.hxx | 5 ++++
sw/source/ui/vba/vbaglobals.cxx | 18 ++++------------
sw/source/ui/vba/vbawrapformat.cxx | 13 ++++-------
sw/util/vbaswobj.component | 11 +++++----
9 files changed, 46 insertions(+), 118 deletions(-)
New commits:
commit d12f2e9025250a7e310078ff736f8c6756cf894d
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sun Jul 26 17:06:45 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Mon Jul 27 21:09:44 2020 +0200
sw/vba: create instances with uno constructors
See tdf#74608 for motivation.
Change-Id: Ieaa5ef1eef7488d7b53454bdd3b14702de909beb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99519
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sw/Library_vbaswobj.mk b/sw/Library_vbaswobj.mk
index 2b2a5bef6e7b..822c986898d1 100644
--- a/sw/Library_vbaswobj.mk
+++ b/sw/Library_vbaswobj.mk
@@ -62,7 +62,6 @@ $(eval $(call gb_Library_use_externals,vbaswobj,\
))
$(eval $(call gb_Library_add_exception_objects,vbaswobj,\
- sw/source/ui/vba/service \
sw/source/ui/vba/vbarange \
sw/source/ui/vba/vbacell \
sw/source/ui/vba/vbacells \
diff --git a/sw/source/ui/vba/service.cxx b/sw/source/ui/vba/service.cxx
deleted file mode 100644
index 43345e302eb1..000000000000
--- a/sw/source/ui/vba/service.cxx
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <comphelper/servicedecl.hxx>
-#include <sal/log.hxx>
-
-#include "service.hxx"
-
-// component exports
-
-namespace sdecl = comphelper::service_decl;
-
-extern "C" SAL_DLLPUBLIC_EXPORT void * vbaswobj_component_getFactory(
- const char * pImplName, void *, void *)
-{
- void* pRet = sdecl::component_getFactoryHelper(pImplName,
- {&globals::serviceDecl, &::document::serviceDecl,
- &wrapformat::serviceDecl, &vbaeventshelper::serviceDecl} );
- SAL_INFO("sw.vba", "Ret is " << pRet);
- return pRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/vba/service.hxx b/sw/source/ui/vba/service.hxx
deleted file mode 100644
index 3ed37ff0ffe5..000000000000
--- a/sw/source/ui/vba/service.hxx
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
-/*
- * 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 INCLUDED_SW_SOURCE_UI_VBA_SERVICE_HXX
-#define INCLUDED_SW_SOURCE_UI_VBA_SERVICE_HXX
-
-#include <sal/config.h>
-
-namespace comphelper::service_decl { class ServiceDecl; }
-
-namespace document {
-extern comphelper::service_decl::ServiceDecl const serviceDecl;
-}
-
-namespace globals {
-extern comphelper::service_decl::ServiceDecl const serviceDecl;
-}
-
-namespace vbaeventshelper {
-extern comphelper::service_decl::ServiceDecl const serviceDecl;
-}
-
-namespace wrapformat {
-extern comphelper::service_decl::ServiceDecl const serviceDecl;
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/sw/source/ui/vba/vbadocument.cxx b/sw/source/ui/vba/vbadocument.cxx
index 9d91960e55be..beb74b865e98 100644
--- a/sw/source/ui/vba/vbadocument.cxx
+++ b/sw/source/ui/vba/vbadocument.cxx
@@ -20,7 +20,6 @@
#include <sal/config.h>
#include <sal/log.hxx>
-#include "service.hxx"
#include "vbafilterpropsfromformat.hxx"
#include "vbadocument.hxx"
#include "vbarange.hxx"
@@ -708,14 +707,12 @@ SwVbaDocument::getServiceNames()
return aServiceNames;
}
-namespace document
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+Writer_SwVbaDocument_get_implementation(
+ css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args)
{
-namespace sdecl = comphelper::service_decl;
-sdecl::vba_service_class_<SwVbaDocument, sdecl::with_args<true> > const serviceImpl;
-sdecl::ServiceDecl const serviceDecl(
- serviceImpl,
- "SwVbaDocument",
- "ooo.vba.word.Document" );
+ return cppu::acquire(new SwVbaDocument(args, context));
}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/vba/vbaeventshelper.cxx b/sw/source/ui/vba/vbaeventshelper.cxx
index 5b53c6fc9950..c1273b5038bf 100644
--- a/sw/source/ui/vba/vbaeventshelper.cxx
+++ b/sw/source/ui/vba/vbaeventshelper.cxx
@@ -19,11 +19,10 @@
#include <sal/config.h>
-#include "service.hxx"
#include "vbaeventshelper.hxx"
#include <com/sun/star/script/ModuleType.hpp>
#include <com/sun/star/script/vba/VBAEventId.hpp>
-#include <comphelper/servicedecl.hxx>
+#include <cppuhelper/supportsservice.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::script::vba::VBAEventId;
@@ -82,14 +81,26 @@ OUString SwVbaEventsHelper::implGetDocumentModuleName( const EventHandlerInfo& /
return "ThisDocument";
}
-namespace vbaeventshelper
+ // XServiceInfo
+OUString SwVbaEventsHelper::getImplementationName()
{
-namespace sdecl = comphelper::service_decl;
-sdecl::inheritingClass_<SwVbaEventsHelper, sdecl::with_args<true> > const serviceImpl;
-sdecl::ServiceDecl const serviceDecl(
- serviceImpl,
- "SwVbaEventsHelper",
- "com.sun.star.document.vba.VBATextEventProcessor" );
+ return "SwVbaEventsHelper";
+}
+sal_Bool SwVbaEventsHelper::supportsService( const OUString& ServiceName )
+{
+ return cppu::supportsService(this, ServiceName);
+}
+css::uno::Sequence< OUString > SwVbaEventsHelper::getSupportedServiceNames()
+{
+ return { "com.sun.star.document.vba.VBATextEventProcessor" };
+}
+
+
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+Writer_SwVbaEventsHelper_get_implementation(
+ css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args)
+{
+ return cppu::acquire(new SwVbaEventsHelper(args, context));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/vba/vbaeventshelper.hxx b/sw/source/ui/vba/vbaeventshelper.hxx
index 03a2f8a45f2b..31a6b2808ee9 100644
--- a/sw/source/ui/vba/vbaeventshelper.hxx
+++ b/sw/source/ui/vba/vbaeventshelper.hxx
@@ -30,6 +30,11 @@ public:
const css::uno::Reference< css::uno::XComponentContext >& rxContext );
virtual ~SwVbaEventsHelper() override;
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName() override;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
+ virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
+
protected:
virtual bool implPrepareEvent( EventQueue& rEventQueue, const EventHandlerInfo& rInfo, const css::uno::Sequence< css::uno::Any >& rArgs ) override;
virtual css::uno::Sequence< css::uno::Any > implBuildArgumentList( const EventHandlerInfo& rInfo, const css::uno::Sequence< css::uno::Any >& rArgs ) override;
diff --git a/sw/source/ui/vba/vbaglobals.cxx b/sw/source/ui/vba/vbaglobals.cxx
index 527d6c61e787..7041b3b24d7b 100644
--- a/sw/source/ui/vba/vbaglobals.cxx
+++ b/sw/source/ui/vba/vbaglobals.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <vbahelper/helperdecl.hxx>
-#include "service.hxx"
#include "vbaglobals.hxx"
#include <sal/log.hxx>
@@ -139,11 +138,7 @@ SwVbaGlobals::getServiceImplName()
uno::Sequence< OUString >
SwVbaGlobals::getServiceNames()
{
- static uno::Sequence< OUString > const aServiceNames
- {
- "ooo.vba.word.Globals"
- };
- return aServiceNames;
+ return { "ooo.vba.word.Globals" };
}
uno::Sequence< OUString >
@@ -161,14 +156,11 @@ SwVbaGlobals::getAvailableServiceNames( )
return serviceNames;
}
-namespace globals
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+Writer_SwVbaGlobals_get_implementation(
+ css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args)
{
-namespace sdecl = comphelper::service_decl;
-sdecl::vba_service_class_<SwVbaGlobals, sdecl::with_args<true> > const serviceImpl;
-sdecl::ServiceDecl const serviceDecl(
- serviceImpl,
- "SwVbaGlobals",
- "ooo.vba.word.Globals" );
+ return cppu::acquire(new SwVbaGlobals(args, context));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/vba/vbawrapformat.cxx b/sw/source/ui/vba/vbawrapformat.cxx
index b854027fe3d0..a8c1d69729f9 100644
--- a/sw/source/ui/vba/vbawrapformat.cxx
+++ b/sw/source/ui/vba/vbawrapformat.cxx
@@ -19,7 +19,6 @@
#include <sal/config.h>
-#include "service.hxx"
#include "vbawrapformat.hxx"
#include <ooo/vba/word/WdWrapSideType.hpp>
#include <ooo/vba/word/WdWrapType.hpp>
@@ -234,14 +233,12 @@ SwVbaWrapFormat::getServiceNames()
return aServiceNames;
}
-namespace wrapformat
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+Writer_SwVbaWrapFormat_get_implementation(
+ css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args)
{
-namespace sdecl = comphelper::service_decl;
-sdecl::vba_service_class_<SwVbaWrapFormat, sdecl::with_args<true> > const serviceImpl;
-sdecl::ServiceDecl const serviceDecl(
- serviceImpl,
- "SwVbaWrapFormat",
- "ooo.vba.word.WrapFormat" );
+ return cppu::acquire(new SwVbaWrapFormat(args, context));
}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/util/vbaswobj.component b/sw/util/vbaswobj.component
index 07cff4402ec1..99ea11407d74 100644
--- a/sw/util/vbaswobj.component
+++ b/sw/util/vbaswobj.component
@@ -18,17 +18,18 @@
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="vbaswobj" xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="SwVbaDocument">
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="SwVbaDocument" constructor="Writer_SwVbaDocument_get_implementation">
<service name="ooo.vba.word.Document"/>
</implementation>
- <implementation name="SwVbaEventsHelper">
+ <implementation name="SwVbaEventsHelper" constructor="Writer_SwVbaEventsHelper_get_implementation">
<service name="com.sun.star.document.vba.VBATextEventProcessor"/>
</implementation>
- <implementation name="SwVbaGlobals">
+ <implementation name="SwVbaGlobals" constructor="Writer_SwVbaGlobals_get_implementation">
<service name="ooo.vba.word.Globals"/>
</implementation>
- <implementation name="SwVbaWrapFormat">
+ <implementation name="SwVbaWrapFormat"
+ constructor="Writer_SwVbaWrapFormat_get_implementation">
<service name="ooo.vba.word.WrapFormat"/>
</implementation>
</component>
More information about the Libreoffice-commits
mailing list