xmloff: create SchXMLImport_Meta instances with an uno constructor

See tdf#74608 for motivation.

Change-Id: I7f783161c190940b10d9acd971a008c17f4f7dbc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89158
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
This commit is contained in:
Miklos Vajna
2020-02-20 21:12:05 +01:00
parent 4a08d20ee5
commit 2b64e3e9a9
5 changed files with 8 additions and 20 deletions

View File

@@ -319,6 +319,7 @@ core_constructor_list = [
"com_sun_star_comp_DrawingLayer_XMLExporter_get_implementation",
"com_sun_star_comp_Impress_XMLClipboardExporter_get_implementation",
"com_sun_star_comp_Chart_XMLOasisImporter_get_implementation",
"com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation",
# xmlscript/util/xmlscript.component
"com_sun_star_comp_xmlscript_XMLBasicExporter",
"com_sun_star_comp_xmlscript_XMLBasicImporter",

View File

@@ -32,11 +32,6 @@ namespace com { namespace sun { namespace star {
} } }
// chart oasis import
OUString SchXMLImport_Meta_getImplementationName() throw();
css::uno::Sequence<OUString> SchXMLImport_Meta_getSupportedServiceNames() throw();
/// @throws css::uno::Exception
css::uno::Reference<css::uno::XInterface> SchXMLImport_Meta_createInstance(
css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);
OUString SchXMLImport_Styles_getImplementationName() throw();
css::uno::Sequence<OUString> SchXMLImport_Styles_getSupportedServiceNames() throw();
/// @throws css::uno::Exception

View File

@@ -621,19 +621,11 @@ Reference< uno::XInterface > SchXMLImport_Content_createInstance(const Reference
return static_cast<cppu::OWeakObject*>(new SchXMLImport( comphelper::getComponentContext(rSMgr), SchXMLImport_Content_getImplementationName(), SvXMLImportFlags::CONTENT | SvXMLImportFlags::AUTOSTYLES | SvXMLImportFlags::FONTDECLS ));
}
Sequence< OUString > SchXMLImport_Meta_getSupportedServiceNames() throw()
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation(
uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
{
return Sequence< OUString > { "com.sun.star.comp.Chart.XMLOasisMetaImporter" };
}
OUString SchXMLImport_Meta_getImplementationName() throw()
{
return "SchXMLImport.Meta";
}
Reference< uno::XInterface > SchXMLImport_Meta_createInstance(const Reference< lang::XMultiServiceFactory > & rSMgr)
{
return static_cast<cppu::OWeakObject*>(new SchXMLImport( comphelper::getComponentContext(rSMgr), SchXMLImport_Meta_getImplementationName(), SvXMLImportFlags::META ));
return cppu::acquire(new SchXMLImport(pCtx, "SchXMLImport.Meta", SvXMLImportFlags::META));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -55,8 +55,7 @@ XMLOFF_DLLPUBLIC void * xo_component_getFactory( const char * pImplName, void *
const sal_Int32 nImplNameLen = strlen( pImplName );
// chart oasis import
SINGLEFACTORY( SchXMLImport_Meta )
else SINGLEFACTORY( SchXMLImport_Styles )
SINGLEFACTORY( SchXMLImport_Styles )
else SINGLEFACTORY( SchXMLImport_Content )
// chart oasis export

View File

@@ -47,7 +47,8 @@
<implementation name="SchXMLImport.Content">
<service name="com.sun.star.comp.Chart.XMLOasisContentImporter"/>
</implementation>
<implementation name="SchXMLImport.Meta">
<implementation name="SchXMLImport.Meta"
constructor="com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation">
<service name="com.sun.star.comp.Chart.XMLOasisMetaImporter"/>
</implementation>
<implementation name="SchXMLImport.Styles">