summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2011-10-08 13:31:52 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2011-10-08 15:31:41 +0200
commit51798a4ecf01aa225875e8582787323b1092b2dd (patch)
treeb96fdb707f43bd02df77c83a8aaa6ccc55a18849
parent173cf81756c69f112c3d61403b5cf87ee81afcfb (diff)
do not use _COMPHELPER_COMPONENT_GETFACTORY macro
-rw-r--r--filter/inc/registration.hxx113
-rw-r--r--filter/source/config/cache/filterconfig1.component2
-rw-r--r--filter/source/config/cache/registration.cxx85
-rw-r--r--filter/source/odfflatxml/OdfFlatXml.cxx36
4 files changed, 82 insertions, 154 deletions
diff --git a/filter/inc/registration.hxx b/filter/inc/registration.hxx
deleted file mode 100644
index 060a77dd945a..000000000000
--- a/filter/inc/registration.hxx
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __COMPHELPER_REGISTRATION_HXX_
-#define __COMPHELPER_REGISTRATION_HXX_
-
-//_______________________________________________
-// includes
-
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <rtl/ustrbuf.hxx>
-#include <cppuhelper/factory.hxx>
-
-//_______________________________________________
-// namespace
-
-namespace comphelper{
-
-//_______________________________________________
-// declaration
-
-//_______________________________________________
-
-/** TODO doc
- */
-#define _COMPHELPER_MULTIINSTANCEFACTORY(IMPLEMENTATIONNAME, SERVICENAMES, FACTORYMETHOD) \
- if (IMPLEMENTATIONNAME == sImplName) \
- xFactory = ::cppu::createSingleFactory(xSMGR , \
- IMPLEMENTATIONNAME, \
- FACTORYMETHOD , \
- SERVICENAMES );
-
-//_______________________________________________
-
-/** TODO doc
- */
-#define _COMPHELPER_ONEINSTANCEFACTORY(IMPLEMENTATIONNAME, SERVICENAMES, FACTORYMETHOD) \
- if (IMPLEMENTATIONNAME == sImplName) \
- xFactory = ::cppu::createOneInstanceFactory(xSMGR , \
- IMPLEMENTATIONNAME, \
- FACTORYMETHOD , \
- SERVICENAMES );
-
-//_______________________________________________
-
-/** TODO doc
- */
-#define _COMPHELPER_COMPONENT_GETFACTORY(STATIC_INIT,FACTORYLIST) \
- extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* pImplementationName, \
- void* pServiceManager , \
- void* /* pRegistryKey */ ) \
- { \
- if ( \
- (!pImplementationName) || \
- (!pServiceManager ) \
- ) \
- return NULL; \
- \
- STATIC_INIT \
- \
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMGR = reinterpret_cast< ::com::sun::star::lang::XMultiServiceFactory* >(pServiceManager); \
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > xFactory ; \
- rtl::OUString sImplName = ::rtl::OUString::createFromAscii(pImplementationName); \
- \
- /* This parameter will expand to: */ \
- /* _COMPHELPER_xxxFACTORY(1) */ \
- /* else */ \
- /* ... */ \
- /* else */ \
- /* _COMPHELPER_xxxFACTORY(n) */ \
- FACTORYLIST \
- \
- /* And if one of these checks was successfully => xFactory was set! */ \
- if (xFactory.is()) \
- { \
- xFactory->acquire(); \
- return xFactory.get(); \
- } \
- \
- return NULL; \
- }
-
-} // namespace comphelper
-
-#endif // #ifndef __COMPHELPER_REGISTRATION_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/filter/source/config/cache/filterconfig1.component b/filter/source/config/cache/filterconfig1.component
index 9d3c7c90fb31..1d6c0153a64c 100644
--- a/filter/source/config/cache/filterconfig1.component
+++ b/filter/source/config/cache/filterconfig1.component
@@ -26,7 +26,7 @@
*
**********************************************************************-->
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="filterconfig1"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.comp.filter.config.ConfigFlush">
<service name="com.sun.star.document.FilterConfigRefresh"/>
diff --git a/filter/source/config/cache/registration.cxx b/filter/source/config/cache/registration.cxx
index 6d449c4aa0ca..0c83bdbf8cb3 100644
--- a/filter/source/config/cache/registration.cxx
+++ b/filter/source/config/cache/registration.cxx
@@ -29,20 +29,15 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_filter.hxx"
-#include "registration.hxx"
-
+#include <cppuhelper/factory.hxx>
#include <rtl/instance.hxx>
-//_______________________________________________
-// includes
-
#ifdef _FILTER_CONFIG_CONSTANT_HXX_
# error "Already included constant.hxx"
#else
# define PROPNAME_IMPL_DECL
# include "constant.hxx"
#endif
-#include <stdio.h>
#include "typedetection.hxx"
#include "filterfactory.hxx"
#include "contenthandlerfactory.hxx"
@@ -99,30 +94,60 @@ static void InitConstants()
theConstantsInitializer::get();
}
-// extern "C" component_getFactory()
-_COMPHELPER_COMPONENT_GETFACTORY
-(
- { InitConstants(); },
- _COMPHELPER_MULTIINSTANCEFACTORY( TypeDetection::impl_getImplementationName() ,
- TypeDetection::impl_getSupportedServiceNames(),
- TypeDetection::impl_createInstance )
-
- _COMPHELPER_MULTIINSTANCEFACTORY( FilterFactory::impl_getImplementationName() ,
- FilterFactory::impl_getSupportedServiceNames(),
- FilterFactory::impl_createInstance )
-
- _COMPHELPER_MULTIINSTANCEFACTORY( ContentHandlerFactory::impl_getImplementationName() ,
- ContentHandlerFactory::impl_getSupportedServiceNames(),
- ContentHandlerFactory::impl_createInstance )
-
- _COMPHELPER_MULTIINSTANCEFACTORY( FrameLoaderFactory::impl_getImplementationName() ,
- FrameLoaderFactory::impl_getSupportedServiceNames(),
- FrameLoaderFactory::impl_createInstance )
-
- _COMPHELPER_ONEINSTANCEFACTORY( ConfigFlush::impl_getImplementationName() ,
- ConfigFlush::impl_getSupportedServiceNames(),
- ConfigFlush::impl_createInstance )
-)
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL
+ filterconfig1_component_getFactory( const sal_Char* pImplementationName,
+ void* pServiceManager,
+ void* /* pRegistryKey */ )
+{
+ if ((!pImplementationName) || (!pServiceManager ))
+ return NULL;
+
+ InitConstants();
+
+ com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
+ xSMGR = reinterpret_cast< com::sun::star::lang::XMultiServiceFactory* >(pServiceManager);
+ com::sun::star::uno::Reference< com::sun::star::lang::XSingleServiceFactory > xFactory;
+ rtl::OUString sImplName = rtl::OUString::createFromAscii(pImplementationName);
+
+ if (TypeDetection::impl_getImplementationName() == sImplName)
+ xFactory = cppu::createSingleFactory( xSMGR,
+ TypeDetection::impl_getImplementationName(),
+ TypeDetection::impl_createInstance,
+ TypeDetection::impl_getSupportedServiceNames() );
+
+ if (FilterFactory::impl_getImplementationName() == sImplName)
+ xFactory = cppu::createSingleFactory( xSMGR,
+ FilterFactory::impl_getImplementationName(),
+ FilterFactory::impl_createInstance,
+ FilterFactory::impl_getSupportedServiceNames() );
+
+ if (ContentHandlerFactory::impl_getImplementationName() == sImplName)
+ xFactory = cppu::createSingleFactory( xSMGR,
+ ContentHandlerFactory::impl_getImplementationName(),
+ ContentHandlerFactory::impl_createInstance,
+ ContentHandlerFactory::impl_getSupportedServiceNames() );
+
+ if (FrameLoaderFactory::impl_getImplementationName() == sImplName)
+ xFactory = cppu::createSingleFactory( xSMGR,
+ FrameLoaderFactory::impl_getImplementationName(),
+ FrameLoaderFactory::impl_createInstance,
+ FrameLoaderFactory::impl_getSupportedServiceNames() );
+
+ if (ConfigFlush::impl_getImplementationName() == sImplName)
+ xFactory = cppu::createOneInstanceFactory( xSMGR,
+ ConfigFlush::impl_getImplementationName(),
+ ConfigFlush::impl_createInstance,
+ ConfigFlush::impl_getSupportedServiceNames() );
+
+ /* And if one of these checks was successful => xFactory was set! */
+ if (xFactory.is())
+ {
+ xFactory->acquire();
+ return xFactory.get();
+ }
+
+ return NULL;
+}
} // namespace config
} // namespace filter
diff --git a/filter/source/odfflatxml/OdfFlatXml.cxx b/filter/source/odfflatxml/OdfFlatXml.cxx
index 4be92503fb1f..edacff16e655 100644
--- a/filter/source/odfflatxml/OdfFlatXml.cxx
+++ b/filter/source/odfflatxml/OdfFlatXml.cxx
@@ -57,8 +57,6 @@
#include <com/sun/star/io/XActiveDataSource.hpp>
#include <com/sun/star/io/XSeekable.hpp>
-#include <registration.hxx>
-
using namespace ::rtl;
using namespace ::cppu;
using namespace ::osl;
@@ -235,14 +233,32 @@ Reference< XInterface > SAL_CALL OdfFlatXml::impl_createInstance(const Reference
}
-// extern "C" component_getFactory()
-_COMPHELPER_COMPONENT_GETFACTORY
-(
- {},
- _COMPHELPER_ONEINSTANCEFACTORY( OdfFlatXml::impl_getImplementationName(),
- OdfFlatXml::impl_getSupportedServiceNames(),
- OdfFlatXml::impl_createInstance)
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL
+component_getFactory( const sal_Char* pImplementationName,
+ void* pServiceManager,
+ void* /* pRegistryKey */ )
+{
+ if ((!pImplementationName) || (!pServiceManager))
+ return NULL;
+
+ com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
+ xSMGR = reinterpret_cast< com::sun::star::lang::XMultiServiceFactory* >(pServiceManager);
+ com::sun::star::uno::Reference< com::sun::star::lang::XSingleServiceFactory > xFactory;
+ rtl::OUString sImplName = rtl::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 NULL;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */