summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2020-01-16 21:31:44 +0100
committerMiklos Vajna <vmiklos@collabora.com>2020-01-17 09:53:33 +0100
commitb4b224f6710adaa1cd9c6413e9754db6fbee3e9c (patch)
treeaa5ac03bf3c5e50857114a4a29c6ecad30a497ba /xmloff
parent91fb918a713597349c24812a742732b54e3734ef (diff)
xmloff: create DrawingLayerExport instances with an uno constructor
See tdf#74608 for motivation. Change-Id: I1bb8e649cab67a2df4e40277758a47259f65a6c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86946 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/inc/facreg.hxx7
-rw-r--r--xmloff/source/core/facreg.cxx5
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx12
-rw-r--r--xmloff/util/xo.component3
4 files changed, 14 insertions, 13 deletions
diff --git a/xmloff/inc/facreg.hxx b/xmloff/inc/facreg.hxx
index aea6ca9a23e4..589210d9e8c8 100644
--- a/xmloff/inc/facreg.hxx
+++ b/xmloff/inc/facreg.hxx
@@ -31,13 +31,6 @@ namespace com { namespace sun { namespace star {
namespace uno { class XInterface; }
} } }
-// drawing layer export
-OUString XMLDrawingLayerExport_getImplementationName() throw();
-css::uno::Sequence<OUString> XMLDrawingLayerExport_getSupportedServiceNames() throw();
-/// @throws css::uno::Exception
-css::uno::Reference<css::uno::XInterface> XMLDrawingLayerExport_createInstance(
- css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);
-
// impress xml clipboard export
OUString XMLImpressClipboardExport_getImplementationName() throw();
css::uno::Sequence<OUString> XMLImpressClipboardExport_getSupportedServiceNames() throw();
diff --git a/xmloff/source/core/facreg.cxx b/xmloff/source/core/facreg.cxx
index cf214d3cdf33..0a1357d93f76 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 );
- // drawing layer export
- SINGLEFACTORY( XMLDrawingLayerExport )
-
// impress xml clipboard export
- else SINGLEFACTORY( XMLImpressClipboardExport )
+ SINGLEFACTORY( XMLImpressClipboardExport )
// chart oasis import
else SINGLEFACTORY( SchXMLImport )
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
index 98df3dc0c091..3fd9320c58bb 100644
--- a/xmloff/source/draw/sdxmlexp.cxx
+++ b/xmloff/source/draw/sdxmlexp.cxx
@@ -2784,7 +2784,17 @@ com_sun_star_comp_Draw_XMLOasisExporter_get_implementation(uno::XComponentContex
| SvXMLExportFlags::FONTDECLS | SvXMLExportFlags::EMBEDDED));
}
-SERVICE( XMLDrawingLayerExport, "com.sun.star.comp.DrawingLayer.XMLExporter", "XMLDrawingLayerExport", true, SvXMLExportFlags::OASIS|SvXMLExportFlags::STYLES|SvXMLExportFlags::AUTOSTYLES|SvXMLExportFlags::CONTENT|SvXMLExportFlags::FONTDECLS|SvXMLExportFlags::EMBEDDED );
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_comp_DrawingLayer_XMLExporter_get_implementation(
+ uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
+{
+ return cppu::acquire(
+ new SdXMLExport(pCtx, "XMLDrawingLayerExport", true,
+ SvXMLExportFlags::OASIS | SvXMLExportFlags::STYLES
+ | SvXMLExportFlags::AUTOSTYLES | SvXMLExportFlags::CONTENT
+ | SvXMLExportFlags::FONTDECLS | SvXMLExportFlags::EMBEDDED));
+}
+
SERVICE( XMLImpressClipboardExport, "com.sun.star.comp.Impress.XMLClipboardExporter", "XMLImpressClipboardExport", false, SvXMLExportFlags::OASIS|SvXMLExportFlags::STYLES|SvXMLExportFlags::AUTOSTYLES|SvXMLExportFlags::CONTENT|SvXMLExportFlags::FONTDECLS|SvXMLExportFlags::EMBEDDED );
XMLFontAutoStylePool* SdXMLExport::CreateFontAutoStylePool()
diff --git a/xmloff/util/xo.component b/xmloff/util/xo.component
index 32e3bf12dc10..57b160bd2719 100644
--- a/xmloff/util/xo.component
+++ b/xmloff/util/xo.component
@@ -96,7 +96,8 @@
constructor="com_sun_star_comp_Draw_XMLOasisStylesExporter_get_implementation">
<service name="com.sun.star.comp.Draw.XMLOasisStylesExporter"/>
</implementation>
- <implementation name="XMLDrawingLayerExport">
+ <implementation name="XMLDrawingLayerExport"
+ constructor="com_sun_star_comp_DrawingLayer_XMLExporter_get_implementation">
<service name="com.sun.star.comp.DrawingLayer.XMLExporter"/>
</implementation>
<implementation name="XMLImpressClipboardExport">