summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/odfflatxml/OdfFlatXml.cxx56
-rw-r--r--filter/source/odfflatxml/odfflatxml.component5
-rw-r--r--scaddins/source/analysis/analysis.component2
-rwxr-xr-xsolenv/bin/native-code.py3
4 files changed, 13 insertions, 53 deletions
diff --git a/filter/source/odfflatxml/OdfFlatXml.cxx b/filter/source/odfflatxml/OdfFlatXml.cxx
index 3ac579fc087a..2846de1441ed 100644
--- a/filter/source/odfflatxml/OdfFlatXml.cxx
+++ b/filter/source/odfflatxml/OdfFlatXml.cxx
@@ -14,6 +14,7 @@
#include <cppuhelper/supportsservice.hxx>
#include <osl/diagnose.h>
#include <sal/log.hxx>
+#include <rtl/ref.hxx>
#include <sax/tools/documenthandleradapter.hxx>
@@ -92,13 +93,6 @@ namespace filter::odfflatxml {
"com.sun.star.document.ExportFilter"};
}
- // UNO component helper methods
-
- static OUString impl_getImplementationName();
-
- static Sequence< OUString > impl_getSupportedServiceNames();
-
- static Reference< XInterface > SAL_CALL impl_createInstance(const Reference< XMultiServiceFactory >& fact);
};
}
@@ -199,49 +193,13 @@ OdfFlatXml::exporter(const Sequence< PropertyValue >& sourceData,
return true;
}
-
-OUString OdfFlatXml::impl_getImplementationName()
-{
- return "com.sun.star.comp.filter.OdfFlatXml";
-}
-
-Sequence< OUString > OdfFlatXml::impl_getSupportedServiceNames()
-{
- return { "com.sun.star.document.ImportFilter", "com.sun.star.document.ExportFilter" };
-}
-
-Reference< XInterface > SAL_CALL OdfFlatXml::impl_createInstance(const Reference< XMultiServiceFactory >& fact)
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+filter_OdfFlatXml_get_implementation(
+ css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const&)
{
- return Reference<XInterface> (static_cast<OWeakObject *>(new OdfFlatXml( comphelper::getComponentContext(fact) )));
-
-}
-
-extern "C" SAL_DLLPUBLIC_EXPORT void*
-odfflatxml_component_getFactory( const char* pImplementationName,
- void* pServiceManager,
- void* /* pRegistryKey */ )
-{
- if ((!pImplementationName) || (!pServiceManager))
- return nullptr;
-
- css::uno::Reference< css::lang::XMultiServiceFactory >
- xSMGR = static_cast< css::lang::XMultiServiceFactory* >(pServiceManager);
- css::uno::Reference< css::lang::XSingleServiceFactory > xFactory;
- OUString sImplName = OUString::createFromAscii(pImplementationName);
-
- if (OdfFlatXml::impl_getImplementationName() == sImplName)
- xFactory = cppu::createOneInstanceFactory( xSMGR,
- OdfFlatXml::impl_getImplementationName(),
- OdfFlatXml::impl_createInstance,
- OdfFlatXml::impl_getSupportedServiceNames() );
-
- if (xFactory.is())
- {
- xFactory->acquire();
- return xFactory.get();
- }
-
- return nullptr;
+ static rtl::Reference<OdfFlatXml> g_Instance(new OdfFlatXml(context));
+ g_Instance->acquire();
+ return static_cast<cppu::OWeakObject*>(g_Instance.get());
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/filter/source/odfflatxml/odfflatxml.component b/filter/source/odfflatxml/odfflatxml.component
index 7fc938227d7e..273ff4582d54 100644
--- a/filter/source/odfflatxml/odfflatxml.component
+++ b/filter/source/odfflatxml/odfflatxml.component
@@ -8,8 +8,9 @@
*
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="odfflatxml" xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.comp.filter.OdfFlatXml">
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.filter.OdfFlatXml"
+ constructor="filter_OdfFlatXml_get_implementation">
<service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExportFilter"/>
</implementation>
diff --git a/scaddins/source/analysis/analysis.component b/scaddins/source/analysis/analysis.component
index 0eff15b7e9f0..4f287f727ce8 100644
--- a/scaddins/source/analysis/analysis.component
+++ b/scaddins/source/analysis/analysis.component
@@ -18,7 +18,7 @@
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="analysis" xmlns="http://openoffice.org/2010/uno-components">
+ xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.sheet.addin.AnalysisImpl"
constructor="scaddins_AnalysisAddIn_get_implementation">
<service name="com.sun.star.sheet.AddIn"/>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index f6e50d096366..e0ef388dd818 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -24,7 +24,6 @@ core_factory_list = [
("libsmlo.a", "sm_component_getFactory"),
("libucb1.a", "ucb_component_getFactory"),
("libxstor.a", "xstor_component_getFactory"),
- ("libodfflatxmllo.a", "odfflatxml_component_getFactory"),
("libvcllo.a", "vcl_component_getFactory"),
("libsvtlo.a", "svt_component_getFactory"),
]
@@ -146,6 +145,8 @@ core_constructor_list = [
"filter_FrameLoaderFactory_get_implementation",
"filter_FilterFactory_get_implementation",
"filter_ContentHandlerFactory_get_implementation",
+# filter/source/odfflatxml/odfflatxml.component
+ "filter_OdfFlatXml_get_implementation",
# filter/source/pdf/pdffilter.component
"filter_PdfDecomposer_get_implementation",
"filter_PDFExportInteractionHandler_get_implementation",