diff options
-rw-r--r-- | filter/source/odfflatxml/OdfFlatXml.cxx | 56 | ||||
-rw-r--r-- | filter/source/odfflatxml/odfflatxml.component | 5 | ||||
-rw-r--r-- | scaddins/source/analysis/analysis.component | 2 | ||||
-rwxr-xr-x | solenv/bin/native-code.py | 3 |
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", |