summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/Library_scfilt.mk1
-rw-r--r--sc/source/filter/excel/xestream.cxx44
-rw-r--r--sc/source/filter/inc/excelfilter.hxx7
-rw-r--r--sc/source/filter/inc/xestream.hxx7
-rw-r--r--sc/source/filter/oox/excelfilter.cxx8
-rw-r--r--sc/source/filter/services.cxx47
6 files changed, 68 insertions, 46 deletions
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 318d69e04ade..0374c7c0a433 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -221,6 +221,7 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
sc/source/filter/orcus/interface \
sc/source/filter/orcus/orcusfiltersimpl \
sc/source/filter/orcus/xmlcontext \
+ sc/source/filter/services \
))
ifeq ($(SYSTEM_ZLIB),YES)
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index cc4678f3eabf..178da4ed2d05 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -52,7 +52,6 @@
#include <sfx2/docfile.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/app.hxx>
-#include <cppuhelper/implementationentry.hxx>
#define DEBUG_XL_ENCRYPTION 0
@@ -1162,7 +1161,7 @@ OUString XclExpXmlStream::implGetImplementationName() const
}
-Sequence< OUString > SAL_CALL XlsxExport_getSupportedServiceNames() throw()
+Sequence< OUString > XlsxExport_getSupportedServiceNames()
{
Sequence< OUString > aSeq( 2 );
aSeq[0] = "com.sun.star.document.ExportFilter";
@@ -1170,48 +1169,9 @@ Sequence< OUString > SAL_CALL XlsxExport_getSupportedServiceNames() throw()
return aSeq;
}
-Reference< XInterface > SAL_CALL XlsxExport_createInstance(const Reference< XComponentContext > & rCC ) throw( Exception )
+Reference< XInterface > SAL_CALL XlsxExport_create(const Reference< XComponentContext > & rCC )
{
return (cppu::OWeakObject*) new XclExpXmlStream( rCC );
}
-namespace oox { namespace xls {
- OUString SAL_CALL ExcelFilter_getImplementationName() throw();
- Sequence< OUString > SAL_CALL ExcelFilter_getSupportedServiceNames() throw();
- Reference< XInterface > SAL_CALL ExcelFilter_createInstance(
- const Reference< XComponentContext >& rxContext ) throw( Exception );
-} }
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-// ------------------------
-// - component_getFactory -
-// ------------------------
-::cppu::ImplementationEntry entries [] =
-{
- {
- XlsxExport_createInstance, XlsxExport_getImplementationName,
- XlsxExport_getSupportedServiceNames, ::cppu::createSingleComponentFactory,
- 0, 0
- },
- {
- oox::xls::ExcelFilter_createInstance, oox::xls::ExcelFilter_getImplementationName,
- oox::xls::ExcelFilter_getSupportedServiceNames, ::cppu::createSingleComponentFactory,
- 0, 0
- },
- { 0, 0, 0, 0, 0, 0 }
-};
-
-SAL_DLLPUBLIC_EXPORT void* SAL_CALL scfilt_component_getFactory( const sal_Char* pImplName, XMultiServiceFactory* pServiceManager, XRegistryKey* pRegistryKey )
-{
- return ::cppu::component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey, entries );
-
-}
-
-#ifdef __cplusplus
-}
-#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/excelfilter.hxx b/sc/source/filter/inc/excelfilter.hxx
index fc108c311f09..6423996c92a9 100644
--- a/sc/source/filter/inc/excelfilter.hxx
+++ b/sc/source/filter/inc/excelfilter.hxx
@@ -70,6 +70,13 @@ private:
virtual OUString implGetImplementationName() const;
};
+css::uno::Reference< css::uno::XInterface > SAL_CALL ExcelFilter_create(
+ css::uno::Reference< css::uno::XComponentContext > const & context);
+
+OUString SAL_CALL ExcelFilter_getImplementationName();
+
+css::uno::Sequence< OUString > SAL_CALL ExcelFilter_getSupportedServiceNames();
+
} // namespace xls
} // namespace oox
diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx
index 0ac31d4617f1..aed9dde78f5a 100644
--- a/sc/source/filter/inc/xestream.hxx
+++ b/sc/source/filter/inc/xestream.hxx
@@ -381,6 +381,13 @@ private:
XclExpXmlPathToStateMap maOpenedStreamMap;
};
+css::uno::Reference< css::uno::XInterface > SAL_CALL XlsxExport_create(
+ css::uno::Reference< css::uno::XComponentContext > const & context);
+
+OUString SAL_CALL XlsxExport_getImplementationName();
+
+css::uno::Sequence< OUString > SAL_CALL XlsxExport_getSupportedServiceNames();
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/excelfilter.cxx b/sc/source/filter/oox/excelfilter.cxx
index e8414cb15584..630e9d25d9ba 100644
--- a/sc/source/filter/oox/excelfilter.cxx
+++ b/sc/source/filter/oox/excelfilter.cxx
@@ -73,12 +73,12 @@ void ExcelFilterBase::unregisterWorkbookGlobals()
// ============================================================================
-OUString SAL_CALL ExcelFilter_getImplementationName() throw()
+OUString ExcelFilter_getImplementationName()
{
return OUString( "com.sun.star.comp.oox.xls.ExcelFilter" );
}
-Sequence< OUString > SAL_CALL ExcelFilter_getSupportedServiceNames() throw()
+Sequence< OUString > ExcelFilter_getSupportedServiceNames()
{
Sequence< OUString > aSeq( 2 );
aSeq[ 0 ] = "com.sun.star.document.ImportFilter";
@@ -86,8 +86,8 @@ Sequence< OUString > SAL_CALL ExcelFilter_getSupportedServiceNames() throw()
return aSeq;
}
-Reference< XInterface > SAL_CALL ExcelFilter_createInstance(
- const Reference< XComponentContext >& rxContext ) throw( Exception )
+Reference< XInterface > ExcelFilter_create(
+ const Reference< XComponentContext >& rxContext )
{
return static_cast< ::cppu::OWeakObject* >( new ExcelFilter( rxContext ) );
}
diff --git a/sc/source/filter/services.cxx b/sc/source/filter/services.cxx
new file mode 100644
index 000000000000..33a01840d2b9
--- /dev/null
+++ b/sc/source/filter/services.cxx
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "sal/config.h"
+
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "sal/types.h"
+
+#include "excelfilter.hxx"
+#include "xestream.hxx"
+
+extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL scfilt_component_getFactory(
+ char const * pImplName, void * pServiceManager, void * pRegistryKey)
+{
+ static cppu::ImplementationEntry const services[] = {
+ { XlsxExport_create, XlsxExport_getImplementationName,
+ XlsxExport_getSupportedServiceNames,
+ cppu::createSingleComponentFactory, 0, 0 },
+ { oox::xls::ExcelFilter_create,
+ oox::xls::ExcelFilter_getImplementationName,
+ oox::xls::ExcelFilter_getSupportedServiceNames,
+ cppu::createSingleComponentFactory, 0, 0 },
+ { 0, 0, 0, 0, 0, 0 }
+ };
+ return cppu::component_getFactoryHelper(
+ pImplName, pServiceManager, pRegistryKey, services);
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */