solenv/bin/native-code.py            |    1 +
 xmloff/inc/facreg.hxx                |    5 -----
 xmloff/source/chart/SchXMLExport.cxx |   26 ++++++++++----------------
 xmloff/source/core/facreg.cxx        |    3 +--
 xmloff/util/xo.component             |    3 ++-
 5 files changed, 14 insertions(+), 24 deletions(-)

New commits:
commit 2f2213016772c94b578c40e65f85c699d289887e
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Thu Mar 12 22:02:01 2020 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Fri Mar 13 08:58:10 2020 +0100

    xmloff: create SchXMLExport_Oasis instances with an uno constructor
    
    See tdf#74608 for motivation.
    
    Change-Id: Ia4fed34fe8b5e89d2e70950f2939941c96bb5f65
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90445
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 1c8fc22c5b41..5929f7c6d88d 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -327,6 +327,7 @@ core_constructor_list = [
     "com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation",
     "com_sun_star_comp_Chart_XMLOasisStylesImporter_get_implementation",
     "com_sun_star_comp_Chart_XMLOasisContentImporter_get_implementation",
+    "com_sun_star_comp_Chart_XMLOasisExporter_get_implementation",
 # xmlscript/util/xmlscript.component
     "com_sun_star_comp_xmlscript_XMLBasicExporter",
     "com_sun_star_comp_xmlscript_XMLOasisBasicExporter",
diff --git a/xmloff/inc/facreg.hxx b/xmloff/inc/facreg.hxx
index 59428841197f..42a5f5c1b900 100644
--- a/xmloff/inc/facreg.hxx
+++ b/xmloff/inc/facreg.hxx
@@ -32,11 +32,6 @@ namespace com { namespace sun { namespace star {
 } } }
 
 // chart oasis export
-OUString SchXMLExport_Oasis_getImplementationName() throw();
-css::uno::Sequence<OUString> SchXMLExport_Oasis_getSupportedServiceNames() 
throw();
-/// @throws css::uno::Exception
-css::uno::Reference<css::uno::XInterface> SchXMLExport_Oasis_createInstance(
-    css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);
 OUString SchXMLExport_Oasis_Meta_getImplementationName() throw();
 css::uno::Sequence<OUString> 
SchXMLExport_Oasis_Meta_getSupportedServiceNames() throw();
 /// @throws css::uno::Exception
diff --git a/xmloff/source/chart/SchXMLExport.cxx 
b/xmloff/source/chart/SchXMLExport.cxx
index 4344d6187b5e..7b3884933e1c 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -3768,22 +3768,16 @@ Reference< uno::XInterface > 
SchXMLExport_createInstance(const Reference< lang::
 }
 
 // Oasis format
-Sequence< OUString > SchXMLExport_Oasis_getSupportedServiceNames() throw()
-{
-    return Sequence< OUString > { "com.sun.star.comp.Chart.XMLOasisExporter" };
-}
-
-OUString SchXMLExport_Oasis_getImplementationName() throw()
-{
-    return "SchXMLExport.Oasis.Compact";
-}
-
-Reference< uno::XInterface > SchXMLExport_Oasis_createInstance(const 
Reference< lang::XMultiServiceFactory > & rSMgr)
-{
-    // #103997# removed some flags from EXPORT_ALL
-    return static_cast<cppu::OWeakObject*>(new SchXMLExport( 
comphelper::getComponentContext(rSMgr),
-        SchXMLExport_Oasis_getImplementationName(),
-        (SvXMLExportFlags::ALL ^ ( SvXMLExportFlags::SETTINGS | 
SvXMLExportFlags::MASTERSTYLES | SvXMLExportFlags::SCRIPTS )) | 
SvXMLExportFlags::OASIS ));
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_comp_Chart_XMLOasisExporter_get_implementation(uno::XComponentContext*
 pCtx,
+                                                            
uno::Sequence<uno::Any> const& /*rSeq*/)
+{
+    return cppu::acquire(
+        new SchXMLExport(pCtx, "SchXMLExport.Oasis.Compact",
+                         (SvXMLExportFlags::ALL
+                          ^ (SvXMLExportFlags::SETTINGS | 
SvXMLExportFlags::MASTERSTYLES
+                             | SvXMLExportFlags::SCRIPTS))
+                             | SvXMLExportFlags::OASIS));
 }
 
 // multiple storage version: one for content / styles / meta
diff --git a/xmloff/source/core/facreg.cxx b/xmloff/source/core/facreg.cxx
index 02e570e25832..207ac7c1fd83 100644
--- a/xmloff/source/core/facreg.cxx
+++ b/xmloff/source/core/facreg.cxx
@@ -55,8 +55,7 @@ XMLOFF_DLLPUBLIC void * xo_component_getFactory( const char * 
pImplName, void *
         const sal_Int32 nImplNameLen = strlen( pImplName );
 
         // chart oasis export
-        SINGLEFACTORY( SchXMLExport_Oasis )
-        else SINGLEFACTORY( SchXMLExport_Oasis_Meta )
+        SINGLEFACTORY( SchXMLExport_Oasis_Meta )
         else SINGLEFACTORY( SchXMLExport_Oasis_Styles )
         else SINGLEFACTORY( SchXMLExport_Oasis_Content )
 
diff --git a/xmloff/util/xo.component b/xmloff/util/xo.component
index 69c015218d9e..6597c3714e38 100644
--- a/xmloff/util/xo.component
+++ b/xmloff/util/xo.component
@@ -25,7 +25,8 @@
   <implementation name="SchXMLExport.Content">
     <service name="com.sun.star.comp.Chart.XMLContentExporter"/>
   </implementation>
-  <implementation name="SchXMLExport.Oasis.Compact">
+  <implementation name="SchXMLExport.Oasis.Compact"
+      
constructor="com_sun_star_comp_Chart_XMLOasisExporter_get_implementation">
     <service name="com.sun.star.comp.Chart.XMLOasisExporter"/>
   </implementation>
   <implementation name="SchXMLExport.Oasis.Content">
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to