diff options
Diffstat (limited to 'sax')
-rw-r--r-- | sax/CppunitTest_sax_parser.mk | 2 | ||||
-rw-r--r-- | sax/Library_expwrap.mk | 14 | ||||
-rw-r--r-- | sax/Library_fastsax.mk | 48 | ||||
-rw-r--r-- | sax/Module_sax.mk | 2 | ||||
-rw-r--r-- | sax/StaticLibrary_sax_shared.mk | 23 | ||||
-rw-r--r-- | sax/source/expatwrap/expwrap.component | 3 | ||||
-rw-r--r-- | sax/source/expatwrap/sax_expat.cxx | 18 | ||||
-rw-r--r-- | sax/source/fastparser/fastparser.cxx | 35 | ||||
-rw-r--r-- | sax/source/fastparser/fastsax.component | 25 |
9 files changed, 30 insertions, 140 deletions
diff --git a/sax/CppunitTest_sax_parser.mk b/sax/CppunitTest_sax_parser.mk index fe411d551fca..b94b826059b1 100644 --- a/sax/CppunitTest_sax_parser.mk +++ b/sax/CppunitTest_sax_parser.mk @@ -34,7 +34,7 @@ $(eval $(call gb_CppunitTest_use_components,sax_parser,\ framework/util/fwk \ i18npool/util/i18npool \ oox/util/oox \ - sax/source/fastparser/fastsax \ + sax/source/expatwrap/expwrap \ sfx2/util/sfx \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/sax/Library_expwrap.mk b/sax/Library_expwrap.mk index 67eeb7742e4b..7e3b53e5bfba 100644 --- a/sax/Library_expwrap.mk +++ b/sax/Library_expwrap.mk @@ -16,27 +16,33 @@ $(eval $(call gb_Library_set_include,expwrap,\ $$(INCLUDE) \ )) +$(eval $(call gb_Library_add_defs,expwrap,\ + -DFASTSAX_DLLIMPLEMENTATION \ +)) + $(eval $(call gb_Library_use_sdk_api,expwrap)) $(eval $(call gb_Library_use_externals,expwrap,\ + boost_headers \ expat \ + zlib \ )) $(eval $(call gb_Library_use_libraries,expwrap,\ cppu \ cppuhelper \ sal \ + salhelper \ + sax \ $(gb_UWINAPI) \ )) -$(eval $(call gb_Library_use_static_libraries,expwrap,\ - sax_shared \ -)) - $(eval $(call gb_Library_add_exception_objects,expwrap,\ sax/source/expatwrap/attrlistimpl \ sax/source/expatwrap/sax_expat \ sax/source/expatwrap/saxwriter \ + sax/source/expatwrap/xml2utf \ + sax/source/fastparser/fastparser \ )) # vim: set noet sw=4 ts=4: diff --git a/sax/Library_fastsax.mk b/sax/Library_fastsax.mk deleted file mode 100644 index 1fcb5039da15..000000000000 --- a/sax/Library_fastsax.mk +++ /dev/null @@ -1,48 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# 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/. -# - -$(eval $(call gb_Library_Library,fastsax)) - -$(eval $(call gb_Library_set_componentfile,fastsax,sax/source/fastparser/fastsax)) - -$(eval $(call gb_Library_set_include,fastsax,\ - -I$(SRCDIR)/sax/inc \ - $$(INCLUDE) \ -)) - -$(eval $(call gb_Library_add_defs,fastsax,\ - -DFASTSAX_DLLIMPLEMENTATION \ -)) - -$(eval $(call gb_Library_use_sdk_api,fastsax)) - -$(eval $(call gb_Library_use_externals,fastsax,\ - boost_headers \ - expat \ - zlib \ -)) - -$(eval $(call gb_Library_use_libraries,fastsax,\ - cppu \ - cppuhelper \ - sal \ - salhelper \ - sax \ - $(gb_UWINAPI) \ -)) - -$(eval $(call gb_Library_use_static_libraries,fastsax,\ - sax_shared \ -)) - -$(eval $(call gb_Library_add_exception_objects,fastsax,\ - sax/source/fastparser/fastparser \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/sax/Module_sax.mk b/sax/Module_sax.mk index 63c993a46db5..ae8ab9c6db5e 100644 --- a/sax/Module_sax.mk +++ b/sax/Module_sax.mk @@ -11,9 +11,7 @@ $(eval $(call gb_Module_Module,sax)) $(eval $(call gb_Module_add_targets,sax,\ Library_expwrap \ - Library_fastsax \ Library_sax \ - StaticLibrary_sax_shared \ )) $(eval $(call gb_Module_add_check_targets,sax,\ diff --git a/sax/StaticLibrary_sax_shared.mk b/sax/StaticLibrary_sax_shared.mk deleted file mode 100644 index cdbc3c88843f..000000000000 --- a/sax/StaticLibrary_sax_shared.mk +++ /dev/null @@ -1,23 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# 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/. -# - -$(eval $(call gb_StaticLibrary_StaticLibrary,sax_shared)) - -$(eval $(call gb_StaticLibrary_set_include,sax_shared,\ - -I$(SRCDIR)/sax/inc \ - $$(INCLUDE) \ -)) - -$(eval $(call gb_StaticLibrary_use_sdk_api,sax_shared)) - -$(eval $(call gb_StaticLibrary_add_exception_objects,sax_shared,\ - sax/source/expatwrap/xml2utf \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/sax/source/expatwrap/expwrap.component b/sax/source/expatwrap/expwrap.component index cc822665b942..e3e474bfd5ec 100644 --- a/sax/source/expatwrap/expwrap.component +++ b/sax/source/expatwrap/expwrap.component @@ -25,4 +25,7 @@ <implementation name="com.sun.star.extensions.xml.sax.Writer"> <service name="com.sun.star.xml.sax.Writer"/> </implementation> + <implementation name="com.sun.star.comp.extensions.xml.sax.FastParser"> + <service name="com.sun.star.xml.sax.FastParser"/> + </implementation> </component> diff --git a/sax/source/expatwrap/sax_expat.cxx b/sax/source/expatwrap/sax_expat.cxx index e58f75aae97c..8e066e85ee46 100644 --- a/sax/source/expatwrap/sax_expat.cxx +++ b/sax/source/expatwrap/sax_expat.cxx @@ -37,7 +37,6 @@ #include <expat.h> -using namespace ::rtl; using namespace ::std; using namespace ::osl; using namespace ::cppu; @@ -50,6 +49,9 @@ using namespace ::com::sun::star::io; #include "factory.hxx" #include "attrlistimpl.hxx" #include "xml2utf.hxx" +#include <sax/fastparser.hxx> + +#define PARSER_IMPLEMENTATION_NAME "com.sun.star.comp.extensions.xml.sax.FastParser" namespace sax_expatwrap { @@ -195,7 +197,13 @@ Reference< XInterface > SAL_CALL SaxExpatParser_CreateInstance( return Reference< XInterface > ( (OWeakObject * ) p ); } - +Reference< XInterface > SAL_CALL FastSaxParser_CreateInstance( + SAL_UNUSED_PARAMETER const Reference< XMultiServiceFactory > & ) + throw(Exception) +{ + ::sax_fastparser::FastSaxParser *p = new ::sax_fastparser::FastSaxParser; + return Reference< XInterface > ( (OWeakObject * ) p ); +} Sequence< OUString > SaxExpatParser::getSupportedServiceNames_Static(void) throw () { @@ -1084,6 +1092,12 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL expwrap_component_getFactory( SaxWriter_CreateInstance, SaxWriter_getSupportedServiceNames() ); } + else if ( aImplementationName == PARSER_IMPLEMENTATION_NAME) + { + xRet = createSingleFactory( xSMgr, aImplementationName, + FastSaxParser_CreateInstance, + sax_fastparser::FastSaxParser::getSupportedServiceNames_Static() ); + } if (xRet.is()) { diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index 4f835d5c2dd5..af73f238274f 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -1490,39 +1490,4 @@ Reference< XInterface > SAL_CALL FastSaxParser_CreateInstance( return Reference< XInterface > ( (OWeakObject * ) p ); } -extern "C" { - -SAL_DLLPUBLIC_EXPORT void * SAL_CALL fastsax_component_getFactory( - const sal_Char * pImplName, void * pServiceManager, - SAL_UNUSED_PARAMETER void * /*pRegistryKey*/ ) -{ - void * pRet = 0; - - if (pServiceManager ) - { - Reference< XSingleServiceFactory > xRet; - Reference< XMultiServiceFactory > xSMgr( reinterpret_cast< XMultiServiceFactory * > ( pServiceManager ) ); - - OUString aImplementationName( OUString::createFromAscii( pImplName ) ); - - if ( aImplementationName == PARSER_IMPLEMENTATION_NAME ) - { - xRet = createSingleFactory( - xSMgr, aImplementationName, - FastSaxParser_CreateInstance, - sax_fastparser::FastSaxParserImpl::getSupportedServiceNames_Static() ); - } - - if (xRet.is()) - { - xRet->acquire(); - pRet = xRet.get(); - } - } - - return pRet; -} - -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sax/source/fastparser/fastsax.component b/sax/source/fastparser/fastsax.component deleted file mode 100644 index cc130e080160..000000000000 --- a/sax/source/fastparser/fastsax.component +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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 . - --> - -<component loader="com.sun.star.loader.SharedLibrary" prefix="fastsax" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.extensions.xml.sax.FastParser"> - <service name="com.sun.star.xml.sax.FastParser"/> - </implementation> -</component> |