xmloff: create XMLDrawMetaImportOasis instances with an uno constructor

Change-Id: I6793d227fd5e7f358904083f37ccae825f733fd4
Reviewed-on: https://gerrit.libreoffice.org/73570
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 aa3a03d..e6b8e91 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -270,6 +270,7 @@ core_constructor_list = [
    "com_sun_star_comp_Draw_XMLOasisImporter_get_implementation",
    "com_sun_star_comp_Draw_XMLOasisStylesImporter_get_implementation",
    "com_sun_star_comp_Draw_XMLOasisContentImporter_get_implementation",
    "com_sun_star_comp_Draw_XMLOasisMetaImporter_get_implementation",
# xmlscript/util/xmlscript.component
    "com_sun_star_comp_xmlscript_XMLBasicExporter",
    "com_sun_star_comp_xmlscript_XMLBasicImporter",
diff --git a/xmloff/inc/facreg.hxx b/xmloff/inc/facreg.hxx
index d59e5d4..cd73d5a 100644
--- a/xmloff/inc/facreg.hxx
+++ b/xmloff/inc/facreg.hxx
@@ -83,11 +83,6 @@ css::uno::Reference<css::uno::XInterface> XMLImpressSettingsExportOOO_createInst
    css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);

// draw oasis import
OUString XMLDrawMetaImportOasis_getImplementationName() throw();
css::uno::Sequence<OUString> XMLDrawMetaImportOasis_getSupportedServiceNames() throw();
/// @throws css::uno::Exception
css::uno::Reference<css::uno::XInterface> XMLDrawMetaImportOasis_createInstance(
    css::uno::Reference<css::lang::XMultiServiceFactory> const & rSMgr);
OUString XMLDrawSettingsImportOasis_getImplementationName() throw();
css::uno::Sequence<OUString> XMLDrawSettingsImportOasis_getSupportedServiceNames() throw();
/// @throws css::uno::Exception
diff --git a/xmloff/source/core/facreg.cxx b/xmloff/source/core/facreg.cxx
index 446dfad..bb66eea 100644
--- a/xmloff/source/core/facreg.cxx
+++ b/xmloff/source/core/facreg.cxx
@@ -72,7 +72,6 @@ XMLOFF_DLLPUBLIC void * xo_component_getFactory( const sal_Char * pImplName, voi
        else SINGLEFACTORY( XMLImpressSettingsExportOOO )

        // draw oasis import
        else SINGLEFACTORY( XMLDrawMetaImportOasis )
        else SINGLEFACTORY( XMLDrawSettingsImportOasis )

        // draw oasis export
diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index ac40ce2..0c502c5 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -307,12 +307,19 @@ com_sun_star_comp_Draw_XMLOasisContentImporter_get_implementation(
                                             | SvXMLImportFlags::FONTDECLS));
}

extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
com_sun_star_comp_Draw_XMLOasisMetaImporter_get_implementation(
    uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
{
    return cppu::acquire(
        new SdXMLImport(pCtx, "XMLDrawMetaImportOasis", true, SvXMLImportFlags::META));
}

SERVICE( XMLImpressStylesImportOasis, "com.sun.star.comp.Impress.XMLOasisStylesImporter", "XMLImpressStylesImportOasis", false, SvXMLImportFlags::STYLES|SvXMLImportFlags::AUTOSTYLES|SvXMLImportFlags::MASTERSTYLES )

SERVICE( XMLImpressContentImportOasis, "com.sun.star.comp.Impress.XMLOasisContentImporter", "XMLImpressContentImportOasis", false, SvXMLImportFlags::AUTOSTYLES|SvXMLImportFlags::CONTENT|SvXMLImportFlags::SCRIPTS|SvXMLImportFlags::FONTDECLS )

SERVICE( XMLImpressMetaImportOasis, "com.sun.star.comp.Impress.XMLOasisMetaImporter", "XMLImpressMetaImportOasis", false, SvXMLImportFlags::META )
SERVICE( XMLDrawMetaImportOasis, "com.sun.star.comp.Draw.XMLOasisMetaImporter", "XMLImpressMetaImportOasis", true, SvXMLImportFlags::META )

SERVICE( XMLImpressSettingsImportOasis, "com.sun.star.comp.Impress.XMLOasisSettingsImporter", "XMLImpressSettingsImportOasis", false, SvXMLImportFlags::SETTINGS )
SERVICE( XMLDrawSettingsImportOasis, "com.sun.star.comp.Draw.XMLOasisSettingsImporter", "XMLImpressSettingsImportOasis", true, SvXMLImportFlags::SETTINGS )
diff --git a/xmloff/util/xo.component b/xmloff/util/xo.component
index 638270a..2c96a69 100644
--- a/xmloff/util/xo.component
+++ b/xmloff/util/xo.component
@@ -124,8 +124,11 @@
    constructor="com_sun_star_comp_Impress_XMLOasisMetaExporter_get_implementation">
    <service name="com.sun.star.comp.Impress.XMLOasisMetaExporter"/>
  </implementation>
  <implementation name="XMLImpressMetaImportOasis">
  <implementation name="XMLDrawMetaImportOasis"
    constructor="com_sun_star_comp_Draw_XMLOasisMetaImporter_get_implementation">
    <service name="com.sun.star.comp.Draw.XMLOasisMetaImporter"/>
  </implementation>
  <implementation name="XMLImpressMetaImportOasis">
    <service name="com.sun.star.comp.Impress.XMLOasisMetaImporter"/>
  </implementation>
  <implementation name="XMLImpressSettingsExportOOO">