xmloff: create SchXMLExport_Content instances with an uno constructor
See tdf#74608 for motivation.
Change-Id: I49f00c08635e571d75e5190d55cbe1f279566797
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94255
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 0b439c0..f259d07 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -332,6 +332,7 @@ core_constructor_list = [
"com_sun_star_comp_Chart_XMLOasisContentExporter_get_implementation",
"com_sun_star_comp_Chart_XMLExporter_get_implementation",
"com_sun_star_comp_Chart_XMLStylesExporter_get_implementation",
"com_sun_star_comp_Chart_XMLContentExporter_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",
diff --git a/xmloff/inc/facreg.hxx b/xmloff/inc/facreg.hxx
index c97d278..25091ef 100644
--- a/xmloff/inc/facreg.hxx
+++ b/xmloff/inc/facreg.hxx
@@ -31,13 +31,6 @@ namespace com::sun::star {
namespace uno { class XInterface; }
}
// chart OOo export
OUString SchXMLExport_Content_getImplementationName() throw();
css::uno::Sequence<OUString> SchXMLExport_Content_getSupportedServiceNames() throw();
/// @throws css::uno::Exception
css::uno::Reference<css::uno::XInterface> SchXMLExport_Content_createInstance(
css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);
// meta export OOo
OUString XMLMetaExportOOO_getImplementationName() throw();
css::uno::Sequence<OUString> XMLMetaExportOOO_getSupportedServiceNames() throw();
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index 6c2f7b1..2b45498 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -3820,19 +3820,13 @@ com_sun_star_comp_Chart_XMLOasisStylesExporter_get_implementation(
SvXMLExportFlags::STYLES | SvXMLExportFlags::OASIS));
}
Sequence< OUString > SchXMLExport_Content_getSupportedServiceNames() throw()
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
com_sun_star_comp_Chart_XMLContentExporter_get_implementation(
uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
{
return Sequence< OUString > { "com.sun.star.comp.Chart.XMLContentExporter" };
}
OUString SchXMLExport_Content_getImplementationName() throw()
{
return "SchXMLExport.Content";
}
Reference< uno::XInterface > SchXMLExport_Content_createInstance(const Reference< lang::XMultiServiceFactory > & rSMgr)
{
return static_cast<cppu::OWeakObject*>(new SchXMLExport( comphelper::getComponentContext(rSMgr), SchXMLExport_Content_getImplementationName(), SvXMLExportFlags::AUTOSTYLES | SvXMLExportFlags::CONTENT | SvXMLExportFlags::FONTDECLS ));
return cppu::acquire(new SchXMLExport(pCtx, "SchXMLExport.Content",
SvXMLExportFlags::AUTOSTYLES | SvXMLExportFlags::CONTENT
| SvXMLExportFlags::FONTDECLS));
}
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
diff --git a/xmloff/source/core/facreg.cxx b/xmloff/source/core/facreg.cxx
index e874fd8..48b12ad 100644
--- a/xmloff/source/core/facreg.cxx
+++ b/xmloff/source/core/facreg.cxx
@@ -54,11 +54,8 @@ XMLOFF_DLLPUBLIC void * xo_component_getFactory( const char * pImplName, void *
const sal_Int32 nImplNameLen = strlen( pImplName );
// chart OOo export
SINGLEFACTORY( SchXMLExport_Content )
// meta import/export OOo
else SINGLEFACTORY( XMLMetaExportOOO )
SINGLEFACTORY( XMLMetaExportOOO )
// auto text import/export
else SINGLEFACTORY( XMLAutoTextEventExport )
diff --git a/xmloff/util/xo.component b/xmloff/util/xo.component
index 123b7b4..cbb4efb 100644
--- a/xmloff/util/xo.component
+++ b/xmloff/util/xo.component
@@ -23,7 +23,8 @@
constructor="com_sun_star_comp_Chart_XMLExporter_get_implementation">
<service name="com.sun.star.comp.Chart.XMLExporter"/>
</implementation>
<implementation name="SchXMLExport.Content">
<implementation name="SchXMLExport.Content"
constructor="com_sun_star_comp_Chart_XMLContentExporter_get_implementation">
<service name="com.sun.star.comp.Chart.XMLContentExporter"/>
</implementation>
<implementation name="SchXMLExport.Oasis.Compact"