[Libreoffice-commits] core.git: oox/inc oox/source oox/util solenv/bin

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 7 09:58:28 UTC 2018


 oox/inc/services.hxx         |    7 -------
 oox/source/core/services.cxx |    1 -
 oox/source/ppt/pptimport.cxx |   27 ++++++++-------------------
 oox/util/oox.component       |    3 ++-
 solenv/bin/native-code.py    |    1 +
 5 files changed, 11 insertions(+), 28 deletions(-)

New commits:
commit c3c43c7966e0f4c7a3b76361559d29c9335487d9
Author:     Miklos Vajna <vmiklos at collabora.co.uk>
AuthorDate: Fri Sep 7 08:41:44 2018 +0200
Commit:     Miklos Vajna <vmiklos at collabora.co.uk>
CommitDate: Fri Sep 7 11:58:02 2018 +0200

    oox: create PowerPointImport instances with an uno constructor
    
    PowerPointImport_getSupportedServiceNames() was copy&pasted from
    oox::core::FilterBase::getSupportedServiceNames(), so it can go away entirely.
    
    Change-Id: Ia6352cea1c2d65ba94cae66b500de951d82f455a
    Reviewed-on: https://gerrit.libreoffice.org/60124
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins

diff --git a/oox/inc/services.hxx b/oox/inc/services.hxx
index 849c28a279bc..7140a5b87d80 100644
--- a/oox/inc/services.hxx
+++ b/oox/inc/services.hxx
@@ -24,13 +24,6 @@
 
 namespace oox {
     namespace ppt {
-        extern OUString PowerPointImport_getImplementationName();
-        extern css::uno::Sequence< OUString > PowerPointImport_getSupportedServiceNames();
-        /// @throws css::uno::Exception
-        extern css::uno::Reference< css::uno::XInterface > PowerPointImport_createInstance(
-            const css::uno::Reference< css::uno::XComponentContext >& rxContext );
-    }
-    namespace ppt {
         extern OUString QuickDiagrammingImport_getImplementationName();
         extern css::uno::Sequence< OUString > QuickDiagrammingImport_getSupportedServiceNames();
         /// @throws css::uno::Exception
diff --git a/oox/source/core/services.cxx b/oox/source/core/services.cxx
index 9bf8e57466bf..c336022110a2 100644
--- a/oox/source/core/services.cxx
+++ b/oox/source/core/services.cxx
@@ -35,7 +35,6 @@ namespace {
 // Impress" would actually want to make use of them:
 static ::cppu::ImplementationEntry const spServices[] =
 {
-    IMPLEMENTATION_ENTRY( ::oox::ppt::PowerPointImport ),
     IMPLEMENTATION_ENTRY( ::oox::ppt::QuickDiagrammingImport ),
     IMPLEMENTATION_ENTRY( ::oox::ppt::QuickDiagrammingLayout ),
     IMPLEMENTATION_ENTRY( ::oox::shape::ShapeContextHandler ),
diff --git a/oox/source/ppt/pptimport.cxx b/oox/source/ppt/pptimport.cxx
index 634cd877f66f..8d5a6aa03f67 100644
--- a/oox/source/ppt/pptimport.cxx
+++ b/oox/source/ppt/pptimport.cxx
@@ -54,24 +54,6 @@ using ::com::sun::star::lang::XComponent;
 
 namespace oox { namespace ppt {
 
-OUString PowerPointImport_getImplementationName()
-{
-    return OUString( "com.sun.star.comp.oox.ppt.PowerPointImport" );
-}
-
-uno::Sequence< OUString > PowerPointImport_getSupportedServiceNames()
-{
-    Sequence< OUString > aSeq( 2 );
-    aSeq[ 0 ] = "com.sun.star.document.ImportFilter";
-    aSeq[ 1 ] = "com.sun.star.document.ExportFilter";
-    return aSeq;
-}
-
-uno::Reference< uno::XInterface > PowerPointImport_createInstance( const Reference< XComponentContext >& rxContext )
-{
-    return static_cast< ::cppu::OWeakObject* >( new PowerPointImport( rxContext ) );
-}
-
 #if OSL_DEBUG_LEVEL > 0
 XmlFilterBase* PowerPointImport::mpDebugFilterBase = nullptr;
 #endif
@@ -321,9 +303,16 @@ GraphicHelper* PowerPointImport::implCreateGraphicHelper() const
 
 OUString PowerPointImport::getImplementationName()
 {
-    return PowerPointImport_getImplementationName();
+    return OUString( "com.sun.star.comp.oox.ppt.PowerPointImport" );
 }
 
 }}
 
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_comp_oox_ppt_PowerPointImport_get_implementation(
+    uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
+{
+    return cppu::acquire(new oox::ppt::PowerPointImport(pCtx));
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/util/oox.component b/oox/util/oox.component
index 399348db905c..09952c7abdf4 100644
--- a/oox/util/oox.component
+++ b/oox/util/oox.component
@@ -31,7 +31,8 @@
     constructor="com_sun_star_comp_oox_docprop_DocumentPropertiesImporter_get_implementation">
     <service name="com.sun.star.document.OOXMLDocumentPropertiesImporter"/>
   </implementation>
-  <implementation name="com.sun.star.comp.oox.ppt.PowerPointImport">
+  <implementation name="com.sun.star.comp.oox.ppt.PowerPointImport"
+    constructor="com_sun_star_comp_oox_ppt_PowerPointImport_get_implementation">
     <service name="com.sun.star.document.ImportFilter"/>
     <service name="com.sun.star.document.ExportFilter"/>
   </implementation>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index d297f93bba05..75d3afbcbbac 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -256,6 +256,7 @@ core_constructor_list = [
     "com_sun_star_comp_oox_core_FastTokenHandler_get_implementation",
     "com_sun_star_comp_oox_FormatDetector_get_implementation",
     "com_sun_star_comp_oox_docprop_DocumentPropertiesImporter_get_implementation",
+    "com_sun_star_comp_oox_ppt_PowerPointImport_get_implementation",
     ]
 
 # edit group for apps, where you can edit documents


More information about the Libreoffice-commits mailing list