diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-11-05 09:44:23 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-11-05 09:49:13 +0100 |
commit | a0796a641224adb15be153b7b0a94ccd788daf65 (patch) | |
tree | 6f2e1bb5349a34b956edf78e3d66ba5a826893fb /writerfilter | |
parent | 33973b8185b2808fe1e158aa2cd6b68d657fd9ce (diff) |
writerfilter: drop debugservices uno component
I tried to ask all developers hacking writerfilter, and seems none of us
use this at all.
Change-Id: I46e59c49c47ec829e5e84cb814e515bf2e8cdafb
Diffstat (limited to 'writerfilter')
15 files changed, 0 insertions, 1965 deletions
diff --git a/writerfilter/Library_writerfilter_uno.mk b/writerfilter/Library_writerfilter_uno.mk deleted file mode 100644 index 7c98491a81b4..000000000000 --- a/writerfilter/Library_writerfilter_uno.mk +++ /dev/null @@ -1,64 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com> -# (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Library_Library,writerfilter_uno)) - -$(eval $(call gb_Library_set_include,writerfilter_uno,\ - $$(INCLUDE) \ - -I$(SRCDIR)/writerfilter/inc \ -)) - -$(eval $(call gb_Library_add_defs,writerfilter_uno,\ - -DWRITERFILTER_WRITERFILTER_UNO_DLLIMPLEMENTATION \ -)) - -$(eval $(call gb_Library_use_sdk_api,writerfilter_uno)) - -$(eval $(call gb_Library_use_libraries,writerfilter_uno,\ - comphelper \ - cppu \ - cppuhelper \ - sal \ - writerfilter \ - $(gb_UWINAPI) \ -)) - -$(eval $(call gb_Library_use_external,writerfilter_uno,libxml2)) - -$(eval $(call gb_Library_add_exception_objects,writerfilter_uno,\ - writerfilter/unocomponent/component \ - writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService \ - writerfilter/unocomponent/debugservices/doctok/DocTokTestService \ - writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService \ - writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService \ -)) - -# not used - # writerfilter/unocomponent/debugservices/rtftok/ScannerTestService \ - # writerfilter/unocomponent/debugservices/rtftok/XMLScanner \ - -# vim: set noet sw=4 ts=4: diff --git a/writerfilter/Module_writerfilter.mk b/writerfilter/Module_writerfilter.mk index 0b33587ba1b5..301e120948c8 100644 --- a/writerfilter/Module_writerfilter.mk +++ b/writerfilter/Module_writerfilter.mk @@ -30,7 +30,6 @@ $(eval $(call gb_Module_Module,writerfilter)) $(eval $(call gb_Module_add_targets,writerfilter,\ CustomTarget_source \ Library_writerfilter \ - Library_writerfilter_uno \ Package_sprmids \ )) diff --git a/writerfilter/unocomponent/component.cxx b/writerfilter/unocomponent/component.cxx deleted file mode 100644 index 6de4fd83b432..000000000000 --- a/writerfilter/unocomponent/component.cxx +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- 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 . - */ - -#ifndef _CPPUHELPTER_FACTORY_ -#include <cppuhelper/factory.hxx> -#endif -#include <com/sun/star/lang/XSingleServiceFactory.hpp> - -#ifndef _CPPUHELPER_IMPLEMENTATIONENTRY_ -#include <cppuhelper/implementationentry.hxx> -#endif -#include <debugservices/doctok/DocTokTestService.hxx> -#include <debugservices/doctok/DocTokAnalyzeService.hxx> -#include <debugservices/ooxml/OOXMLTestService.hxx> -#include <debugservices/ooxml/OOXMLAnalyzeService.hxx> - -#include <stdio.h> - -using namespace com::sun::star; - - -extern "C" -{ -/* shared lib exports implemented with helpers */ -static struct ::cppu::ImplementationEntry s_component_entries [] = -{//uno -l writerfilter.uno.dll -c debugservices.rtftok.ScannerTestService -- a b c - DOCTOK_SCANNERTESTSERVICE_COMPONENT_ENTRY, /* debugservices.doctok.ScannerTestService */ - DOCTOK_ANALYZESERVICE_COMPONENT_ENTRY, /* debugservices.doctok.AnalyzeService */ - OOXML_SCANNERTESTSERVICE_COMPONENT_ENTRY, /* debugservices.ooxml.ScannerTestService */ - OOXML_ANALYZESERVICE_COMPONENT_ENTRY, /* debugservices.ooxml.AnalyzeService */ - { 0, 0, 0, 0, 0, 0 } // terminate with NULL -}; - -SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(sal_Char const * implName, ::com::sun::star::lang::XMultiServiceFactory * xMgr, ::com::sun::star::registry::XRegistryKey * xRegistry ) -{ - fprintf(stderr, "Loading service: %s: ", implName); - - void * pResult = ::cppu::component_getFactoryHelper(implName, xMgr, xRegistry, s_component_entries ); - - fprintf(stderr, "%p\n", pResult); - - return pResult; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.cxx b/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.cxx deleted file mode 100644 index 352bdc7b3f54..000000000000 --- a/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.cxx +++ /dev/null @@ -1,253 +0,0 @@ -/* -*- 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 "DocTokAnalyzeService.hxx" -#include <stdio.h> -#include <wchar.h> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/ucb/SimpleFileAccess.hpp> -#include <com/sun/star/ucb/XSimpleFileAccess2.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> -#include <resourcemodel/exceptions.hxx> -#include <doctok/WW8Document.hxx> - -#include <ctype.h> - -using namespace ::com::sun::star; - -namespace writerfilter { namespace doctoktest { - -const sal_Char AnalyzeService::SERVICE_NAME[40] = "debugservices.doctok.AnalyzeService"; -const sal_Char AnalyzeService::IMPLEMENTATION_NAME[40] = "debugservices.doctok.AnalyzeService"; - -class URLLister -{ - uno::Reference<io::XInputStream> xInputStream; - OUString mString; - OUString mCRLF; - OUString mLF; - - sal_uInt32 getEOLIndex() - { - sal_Int32 nIndex = mString.indexOf(mCRLF); - - if (nIndex == -1) - { - nIndex = mString.indexOf(mLF); - } - - return nIndex; - } - -public: - URLLister(uno::Reference<com::sun::star::uno::XComponentContext> xContext, - OUString absFileUrl) - { - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - xInputStream = xFileAccess->openFileRead(absFileUrl) ; - - mLF = OUString("\n"); - mCRLF = OUString("\r\n"); - } - - OUString getURL() - { - OUString aResult; - - sal_Int32 nIndex = getEOLIndex(); - - while (nIndex == -1) - { - uno::Sequence<sal_Int8> aSeq; - sal_uInt32 nCount = xInputStream->readBytes(aSeq, 1024); - - if (nCount > 0) - { - rtl_String * pNew = 0; - rtl_string_newFromStr_WithLength - (&pNew, reinterpret_cast<const sal_Char *>(&aSeq[0]), - nCount); - - OString aTmp(pNew); - OUString aTail(OStringToOUString - (aTmp, RTL_TEXTENCODING_ASCII_US)); - mString = mString.concat(aTail); - } - - nIndex = getEOLIndex(); - - if (nCount != 1024) - break; - } - - if (nIndex > 0) - { - aResult = mString.copy(0, nIndex); - - if (mString.match(mCRLF, nIndex)) - mString = mString.copy(nIndex + 2); - else - mString = mString.copy(nIndex + 1); - } - - return aResult; - } -}; - -AnalyzeService::AnalyzeService(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL AnalyzeService::run -( const uno::Sequence< OUString >& aArguments ) - throw (uno::RuntimeException) -{ - OUString arg=aArguments[0]; - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - - OUString absFileUrlUrls; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrlUrls.pData); - - URLLister aLister(xContext, absFileUrlUrls); - - fprintf(stdout, "<analyze>\n"); - - OUString aURL = aLister.getURL(); - - while (!aURL.isEmpty()) - { - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - OString aStr; - aURL.convertToString(&aStr, RTL_TEXTENCODING_ASCII_US, - OUSTRING_TO_OSTRING_CVTFLAGS); - - fprintf(stdout, "<file><name>%s</name>\n", aStr.getStr()); - fprintf(stderr, "%s\n", aStr.getStr()); - fflush(stderr); - - bool bStatus = true; - try - { - try - { - uno::Reference<io::XInputStream> xInputStream = - xFileAccess->openFileRead(aURL); - { - doctok::WW8Stream::Pointer_t pDocStream = - doctok::WW8DocumentFactory::createStream - (xContext, xInputStream); - - if (pDocStream.get() != NULL) - { - doctok::WW8Document::Pointer_t pDocument - (doctok::WW8DocumentFactory::createDocument - (pDocStream)); - - Stream::Pointer_t pAnalyzer = - writerfilter::createAnalyzer(); - pDocument->resolve(*pAnalyzer); - } - else - { - fprintf(stdout, - "<exception>file open failed</exception>\n"); - bStatus = false; - } - fprintf(stderr, "done\n"); - } - - xInputStream->closeInput(); - } - catch (const Exception &e) - { - fprintf(stdout, "<exception>%s</exception>\n", - e.getText().c_str()); - bStatus = false; - } - } - catch (...) - { - fprintf(stdout, "<exception>unknown</exception>\n"); - bStatus = false; - } - - if (bStatus) - fprintf(stdout, "<status>ok</status>\n"); - else - fprintf(stdout, "<status>failed</status>\n"); - - aURL = aLister.getURL(); - - fprintf(stdout, "</file>\n"); - fflush(stdout); - } - - fprintf(stdout, "</analyze>\n"); - - rtl_uString_release(dir); - - return 0; -} - -OUString AnalyzeService_getImplementationName () -{ - return OUString(AnalyzeService::IMPLEMENTATION_NAME ); -} - -sal_Bool SAL_CALL AnalyzeService_supportsService( const OUString& ServiceName ) -{ - return ServiceName == AnalyzeService::SERVICE_NAME; -} -uno::Sequence< OUString > SAL_CALL AnalyzeService_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(AnalyzeService::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL AnalyzeService_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new AnalyzeService( xContext ); -} - -} } /* end namespace writerfilter::doctok */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.hxx b/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.hxx deleted file mode 100644 index 03039913c570..000000000000 --- a/writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_DOCTOK_ANALYZESERVICE_HXX -#define INCLUDED_DOCTOK_ANALYZESERVICE_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace doctoktest { - -class AnalyzeService : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - AnalyzeService(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString AnalyzeService_getImplementationName (); -sal_Bool SAL_CALL AnalyzeService_supportsService( const OUString& ServiceName ); -::com::sun::star::uno::Sequence< OUString > SAL_CALL AnalyzeService_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL AnalyzeService_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::rtftok */ - -#define DOCTOK_ANALYZESERVICE_COMPONENT_ENTRY \ -{\ - writerfilter::doctoktest::AnalyzeService_createInstance,\ - writerfilter::doctoktest::AnalyzeService_getImplementationName,\ - writerfilter::doctoktest::AnalyzeService_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_RTFTOK_ANALYZESERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.cxx b/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.cxx deleted file mode 100644 index 56d2c003f26e..000000000000 --- a/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.cxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- 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 "DocTokTestService.hxx" -#include <stdio.h> -#include <wchar.h> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/ucb/SimpleFileAccess.hpp> -#include <com/sun/star/ucb/XSimpleFileAccess2.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> -#include <resourcemodel/exceptions.hxx> -#include <doctok/WW8Document.hxx> - -#include <ctype.h> - -using namespace ::com::sun::star; - -namespace writerfilter { namespace doctoktest { - -const sal_Char ScannerTestService::SERVICE_NAME[40] = "debugservices.doctok.ScannerTestService"; -const sal_Char ScannerTestService::IMPLEMENTATION_NAME[40] = "debugservices.doctok.ScannerTestService"; - - - - -ScannerTestService::ScannerTestService(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL ScannerTestService::run( const uno::Sequence< OUString >& aArguments ) throw (uno::RuntimeException) -{ - OUString arg=aArguments[0]; - - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - OUString absFileUrl; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrl.pData); - rtl_uString_release(dir); - - uno::Reference<io::XInputStream> xInputStream = xFileAccess->openFileRead(absFileUrl); - doctok::WW8Stream::Pointer_t pDocStream = doctok::WW8DocumentFactory::createStream(xContext, xInputStream); - - doctok::WW8Document::Pointer_t pDocument(doctok::WW8DocumentFactory::createDocument(pDocStream)); - - Stream::Pointer_t pStream = createStreamHandler(); - pDocument->resolve(*pStream); - - return 0; -} - -OUString ScannerTestService_getImplementationName () -{ - return OUString(ScannerTestService::IMPLEMENTATION_NAME ); -} - -uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(ScannerTestService::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL ScannerTestService_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new ScannerTestService( xContext ); -} - -} } /* end namespace writerfilter::doctok */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.hxx b/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.hxx deleted file mode 100644 index 1310c6bfbf44..000000000000 --- a/writerfilter/unocomponent/debugservices/doctok/DocTokTestService.hxx +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_DOCTOK_SCANNERTESTSERVICE_HXX -#define INCLUDED_DOCTOK_SCANNERTESTSERVICE_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace doctoktest { - -class ScannerTestService : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - ScannerTestService(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString ScannerTestService_getImplementationName (); -::com::sun::star::uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ScannerTestService_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::rtftok */ - -#define DOCTOK_SCANNERTESTSERVICE_COMPONENT_ENTRY \ -{\ - writerfilter::doctoktest::ScannerTestService_createInstance,\ - writerfilter::doctoktest::ScannerTestService_getImplementationName,\ - writerfilter::doctoktest::ScannerTestService_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_RTFTOK_SCANNERTESTSERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.cxx b/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.cxx deleted file mode 100644 index b8fd2428b565..000000000000 --- a/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.cxx +++ /dev/null @@ -1,247 +0,0 @@ -/* -*- 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 "OOXMLAnalyzeService.hxx" -#include <stdio.h> -#include <wchar.h> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/ucb/SimpleFileAccess.hpp> -#include <com/sun/star/ucb/XSimpleFileAccess2.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> -#include <ooxml/OOXMLDocument.hxx> - -#include <ctype.h> - -using namespace ::com::sun::star; - -namespace writerfilter { namespace ooxmltest { - -const sal_Char AnalyzeService::SERVICE_NAME[40] = "debugservices.ooxml.AnalyzeService"; -const sal_Char AnalyzeService::IMPLEMENTATION_NAME[40] = "debugservices.ooxml.AnalyzeService"; - -class URLLister -{ - uno::Reference<io::XInputStream> xInputStream; - OUString mString; - OUString mCRLF; - OUString mLF; - - sal_uInt32 getEOLIndex() - { - sal_Int32 nIndex = mString.indexOf(mCRLF); - - if (nIndex == -1) - { - nIndex = mString.indexOf(mLF); - } - - return nIndex; - } - -public: - URLLister(uno::Reference<com::sun::star::uno::XComponentContext> xContext, - OUString absFileUrl) - { - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - xInputStream = xFileAccess->openFileRead(absFileUrl) ; - - mLF = OUString("\n"); - mCRLF = OUString("\r\n"); - } - - OUString getURL() - { - OUString aResult; - - sal_Int32 nIndex = getEOLIndex(); - - while (nIndex == -1) - { - uno::Sequence<sal_Int8> aSeq; - sal_uInt32 nCount = xInputStream->readBytes(aSeq, 1024); - - if (nCount > 0) - { - rtl_String * pNew = 0; - rtl_string_newFromStr_WithLength - (&pNew, reinterpret_cast<const sal_Char *>(&aSeq[0]), - nCount); - - OString aTmp(pNew); - OUString aTail(OStringToOUString - (aTmp, RTL_TEXTENCODING_ASCII_US)); - mString = mString.concat(aTail); - } - - nIndex = getEOLIndex(); - - if (nCount != 1024) - break; - } - - if (nIndex > 0) - { - aResult = mString.copy(0, nIndex); - - if (mString.match(mCRLF, nIndex)) - mString = mString.copy(nIndex + 2); - else - mString = mString.copy(nIndex + 1); - } - - return aResult; - } -}; - -AnalyzeService::AnalyzeService(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL AnalyzeService::run -( const uno::Sequence< OUString >& aArguments ) - throw (uno::RuntimeException) -{ - OUString arg=aArguments[0]; - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - - OUString absFileUrlUrls; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrlUrls.pData); - - URLLister aLister(xContext, absFileUrlUrls); - - fprintf(stdout, "<analyze>\n"); - - writerfilter::analyzerIds(); - - OUString aURL = aLister.getURL(); - - while (!aURL.isEmpty()) - { - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - OString aStr; - aURL.convertToString(&aStr, RTL_TEXTENCODING_ASCII_US, - OUSTRING_TO_OSTRING_CVTFLAGS); - - fprintf(stdout, "<file><name>%s</name>\n", aStr.getStr()); - fprintf(stderr, "%s\n", aStr.getStr()); - fflush(stderr); - - bool bStatus = true; - try - { - uno::Reference<io::XInputStream> xInputStream = - xFileAccess->openFileRead(aURL); - - if (xInputStream.is()) - { - ooxml::OOXMLStream::Pointer_t pDocStream = - ooxml::OOXMLDocumentFactory::createStream - (xContext, xInputStream, false); - - if (pDocStream.get() != NULL) - { - ooxml::OOXMLDocument::Pointer_t pDocument - (ooxml::OOXMLDocumentFactory::createDocument - (pDocStream)); - - Stream::Pointer_t pAnalyzer = - writerfilter::createAnalyzer(); - pDocument->resolve(*pAnalyzer); - } - else - { - fprintf(stdout, - "<exception>file open failed</exception>\n"); - bStatus = false; - } - fprintf(stderr, "done\n"); - } - - xInputStream->closeInput(); - } - catch (...) - { - fprintf(stdout, "<exception>unknown</exception>\n"); - bStatus = false; - } - - if (bStatus) - fprintf(stdout, "<status>ok</status>\n"); - else - fprintf(stdout, "<status>failed</status>\n"); - - aURL = aLister.getURL(); - - fprintf(stdout, "</file>\n"); - fflush(stdout); - } - - fprintf(stdout, "</analyze>\n"); - - rtl_uString_release(dir); - - return 0; -} - -OUString AnalyzeService_getImplementationName () -{ - return OUString(AnalyzeService::IMPLEMENTATION_NAME ); -} - -sal_Bool SAL_CALL AnalyzeService_supportsService( const OUString& ServiceName ) -{ - return ServiceName == AnalyzeService::SERVICE_NAME; -} -uno::Sequence< OUString > SAL_CALL AnalyzeService_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(AnalyzeService::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL AnalyzeService_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new AnalyzeService( xContext ); -} - -} } /* end namespace writerfilter::doctok */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.hxx b/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.hxx deleted file mode 100644 index 36038dcbaf1a..000000000000 --- a/writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_OOXML_ANALYZE_SERVICE_HXX -#define INCLUDED_OOXML_ANALYZE_SERVICE_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace ooxmltest { - -class AnalyzeService : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - AnalyzeService(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString AnalyzeService_getImplementationName (); -sal_Bool SAL_CALL AnalyzeService_supportsService( const OUString& ServiceName ); -::com::sun::star::uno::Sequence< OUString > SAL_CALL AnalyzeService_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL AnalyzeService_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::rtftok */ - -#define OOXML_ANALYZESERVICE_COMPONENT_ENTRY \ -{\ - writerfilter::ooxmltest::AnalyzeService_createInstance,\ - writerfilter::ooxmltest::AnalyzeService_getImplementationName,\ - writerfilter::ooxmltest::AnalyzeService_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_OOXML_ANALYZE_SERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx b/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx deleted file mode 100644 index 4d1335b749bd..000000000000 --- a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- 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 <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -#include "OOXMLTestService.hxx" -#include <stdio.h> -#include <wchar.h> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/ucb/SimpleFileAccess.hpp> -#include <com/sun/star/ucb/XSimpleFileAccess2.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/bootstrap.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> -#include <com/sun/star/text/XTextDocument.hpp> -#include <com/sun/star/drawing/XDrawPageSupplier.hpp> -#include <ooxml/OOXMLDocument.hxx> -#include <resourcemodel/TagLogger.hxx> - -#include <ctype.h> - -using namespace ::com::sun::star; - -namespace writerfilter { namespace ooxmltest { - -const sal_Char ScannerTestService::SERVICE_NAME[40] = "debugservices.ooxml.ScannerTestService"; -const sal_Char ScannerTestService::IMPLEMENTATION_NAME[40] = "debugservices.ooxml.ScannerTestService"; - - - - -ScannerTestService::ScannerTestService(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL ScannerTestService::run( const uno::Sequence< OUString >& aArguments ) throw (uno::RuntimeException) -{ -#ifdef DEBUG_ELEMENT - writerfilter::TagLogger::Pointer_t debugLogger - (writerfilter::TagLogger::getInstance("DEBUG")); - debugLogger->startDocument(); -#endif - - OUString arg=aArguments[0]; - - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - OUString absFileUrl; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrl.pData); - rtl_uString_release(dir); - - uno::Reference<io::XInputStream> xInputStream = - xFileAccess->openFileRead(absFileUrl); - ooxml::OOXMLStream::Pointer_t pDocStream = - ooxml::OOXMLDocumentFactory::createStream(xContext, xInputStream, false); - - ooxml::OOXMLDocument::Pointer_t pDocument - (ooxml::OOXMLDocumentFactory::createDocument(pDocStream)); - - Stream::Pointer_t pStream = createStreamHandler(); - pDocument->resolve(*pStream); - -#ifdef DEBUG_ELEMENT - debugLogger->endDocument(); -#endif - - return 0; -} - -OUString ScannerTestService_getImplementationName () -{ - return OUString(ScannerTestService::IMPLEMENTATION_NAME ); -} - -uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(ScannerTestService::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL ScannerTestService_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new ScannerTestService( xContext ); -} - -} } /* end namespace writerfilter::ooxml */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.hxx b/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.hxx deleted file mode 100644 index a2de044e4730..000000000000 --- a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.hxx +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_OOXML_SCANNERTESTSERVICE_HXX -#define INCLUDED_OOXML_SCANNERTESTSERVICE_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace ooxmltest { - -class ScannerTestService : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - ScannerTestService(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString ScannerTestService_getImplementationName (); -::com::sun::star::uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ScannerTestService_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::ooxml */ - -#define OOXML_SCANNERTESTSERVICE_COMPONENT_ENTRY \ -{\ - writerfilter::ooxmltest::ScannerTestService_createInstance,\ - writerfilter::ooxmltest::ScannerTestService_getImplementationName,\ - writerfilter::ooxmltest::ScannerTestService_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_OOXML_SCANNERTESTSERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.cxx b/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.cxx deleted file mode 100644 index 43ec23d4c28f..000000000000 --- a/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.cxx +++ /dev/null @@ -1,416 +0,0 @@ -/* -*- 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 "ScannerTestService.hxx" -#include <stdio.h> -#include <string.h> -#include <wchar.h> -#include <rtftok/RTFScanner.hxx> -#include <rtftok/RTFScannerHandler.hxx> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <ucbhelper/contentbroker.hxx> -#include <com/sun/star/ucb/XSimpleFileAccess.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> - -#include <ctype.h> - -using namespace ::com::sun::star; - -namespace writerfilter { namespace rtftok { - -const sal_Char ScannerTestService::SERVICE_NAME[40] = "debugservices.rtftok.ScannerTestService"; -const sal_Char ScannerTestService::IMPLEMENTATION_NAME[40] = "debugservices.rtftok.ScannerTestService"; - -struct ScannerTestServiceHelper -{ - size_t operator()(const OString &str) const - { - return str.hashCode(); - } - bool operator()(const OString &str1, const OString &str2) const - { - return str1.compareTo(str2)==0; - } -}; - -typedef ::boost::unordered_set< OString, ScannerTestServiceHelper, ScannerTestServiceHelper > ScannerTestServiceTokenMap; - -class MyRtfScannerHandler : public writerfilter::rtftok::RTFScannerHandler -{ - ScannerTestServiceTokenMap destMap; - ScannerTestServiceTokenMap ctrlMap; - std::vector<unsigned char> binBuffer; - int objDataLevel; - int numOfOLEs; - unsigned char hb; - int numOfOLEChars; - uno::Reference<lang::XMultiServiceFactory> xServiceFactory; - uno::Reference<com::sun::star::ucb::XSimpleFileAccess> xFileAccess; - uno::Reference<embed::XStorage> xStorage; - - void dest(char* token, char* /*value*/) - { - destMap.insert(OString(token)); - if (strcmp(token, "objdata")==0) - { - binBuffer.clear(); - objDataLevel=1; - numOfOLEChars=0; - } - } - void ctrl(char*token, char* /*value*/) - { - ctrlMap.insert(OString(token)); - } - void lbrace(void) - { - } - void rbrace(void) - { -#ifndef LINUX - unsigned char * binBufferStr = ((unsigned char*)&(*binBuffer.begin())); - - if (objDataLevel) - { - int o=0; - unsigned int type=((unsigned int)binBuffer[o]) | ((unsigned int)binBuffer[o+1])<<8 | ((unsigned int)binBuffer[o+2])<<16 | ((unsigned int)binBuffer[o+3]<<24); o+=4; - unsigned int recType=((unsigned int)binBuffer[o]) | ((unsigned int)binBuffer[o+1])<<8 | ((unsigned int)binBuffer[o+2])<<16 | ((unsigned int)binBuffer[o+3]<<24); o+=4; - unsigned int strLen=((unsigned int)binBuffer[o]) | ((unsigned int)binBuffer[o+1])<<8 | ((unsigned int)binBuffer[o+2])<<16 | ((unsigned int)binBuffer[o+3]<<24); o+=4; - unsigned char *str=binBufferStr+o; - o+=strLen; - o+=4; // dummy1 - o+=4; // dummy2 - unsigned int binLen=((unsigned int)binBuffer[o]) | ((unsigned int)binBuffer[o+1])<<8 | ((unsigned int)binBuffer[o+2])<<16 | ((unsigned int)binBuffer[o+3]<<24); o+=4; - printf("OLE%i \"%s\" type=%i recType=%i binBuffer.size()=%u len=%u\n", numOfOLEs, str, type, recType, (unsigned int)(binBuffer.size()), o+binLen); - char buf[100]; - sprintf(buf, "ole%02i.ole", numOfOLEs); - - comphelper::ByteSequence seq(binLen); - unsigned char *data0=binBufferStr; - memcpy(seq.getArray(), data0+o, binLen); - uno::Reference<io::XInputStream> myStream=new comphelper::SequenceInputStream(seq); - uno::Sequence< uno::Any > aArgs0( 1 ); - aArgs0[0] <<= myStream; - uno::Reference< container::XNameContainer > xNameContainer( - xServiceFactory->createInstanceWithArguments( - OUString("com.sun.star.embed.OLESimpleStorage"), - aArgs0 ), - uno::UNO_QUERY_THROW ); - try { - printf("TRY\n"); - ::com::sun::star::uno::Sequence< OUString > names=xNameContainer->getElementNames(); - printf("OK\n"); - - for(int i=0;i<names.getLength();i++) - { - OUString &name=names[i]; - wprintf(L"name=%s\n", name.getStr()); - } - { - uno::Reference< io::XStream > xContentStream = xStorage->openStreamElement( - OUString::createFromAscii(buf), embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE ); - uno::Reference<beans::XPropertySet> xContentStreamPropSet(xContentStream, uno::UNO_QUERY_THROW); - xContentStreamPropSet->setPropertyValue(OUString("MediaType"), uno::makeAny(OUString("application/vnd.sun.star.oleobject"))); - uno::Reference<io::XOutputStream> myOutStream=xContentStream->getOutputStream(); - uno::Sequence< ::sal_Int8 > seq1(binLen); - unsigned char *data1=binBufferStr; - memcpy(seq1.getArray(), data1+o, binLen); - myOutStream->writeBytes(seq1); - myOutStream->closeOutput(); - } - - } catch(com::sun::star::uno::RuntimeException &) - { - printf("NOT OK\n"); - comphelper::ByteSequence seq2(4+binLen); - seq2[0]= sal::static_int_cast<sal_Int8>(binLen&0xFF); - seq2[1]= sal::static_int_cast<sal_Int8>((binLen>>8)&0xFF); - seq2[2]= sal::static_int_cast<sal_Int8>((binLen>>16)&0xFF); - seq2[3]= sal::static_int_cast<sal_Int8>((binLen>>24)&0xFF); - unsigned char *data2=binBufferStr; - memcpy(seq2.getArray()+4, data2+o, binLen); - uno::Reference<io::XInputStream> myInStream=new comphelper::SequenceInputStream(seq2); - printf("SEQ OK\n"); - - uno::Reference< io::XStream > xContentStream = xStorage->openStreamElement( - OUString::createFromAscii(buf), embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE ); - uno::Reference<beans::XPropertySet> xContentStreamPropSet(xContentStream, uno::UNO_QUERY_THROW); - xContentStreamPropSet->setPropertyValue(OUString("MediaType"), uno::makeAny(OUString("application/vnd.sun.star.oleobject"))); - printf("CONTENT STREAM OK\n"); - - uno::Sequence< uno::Any > aArgs1( 1 ); - aArgs1[0] <<= xContentStream; - uno::Reference< container::XNameContainer > xNameContainer2( - xServiceFactory->createInstanceWithArguments( - OUString("com.sun.star.embed.OLESimpleStorage"), - aArgs1 ), - uno::UNO_QUERY_THROW ); - printf("OLE STORAGE OK\n"); - - uno::Any anyStream; - anyStream <<= myInStream; - xNameContainer2->insertByName(OUString("\1Ole10Native"), anyStream); - printf("INSERT OK\n"); - - uno::Reference<embed::XTransactedObject> xTransact(xNameContainer2, uno::UNO_QUERY); - xTransact->commit(); - } - objDataLevel--; - numOfOLEs++; - } -#endif - } - void addSpaces(int /*count*/) - { - } - void addBinData(unsigned char /*data*/) - { - } - void addChar(char ch) - { - if (objDataLevel) - { - if (numOfOLEChars%2==0) - { - char c=sal::static_int_cast<char>(toupper(ch)); - assert((c<='F' && c>='A') || (c<='9' && c>='0')); - if(c>='A') hb=(unsigned char)(c-'A'+10); else hb=(unsigned char)(c-'0'); - } - else - { - unsigned char lb; - char c=sal::static_int_cast<char>(toupper(ch)); - assert((c<='F' && c>='A') || (c<='9' && c>='0')); - if(c>='A') lb=(unsigned char)(c-'A'+10); else lb=(unsigned char)(c-'0'); - unsigned char r=(hb<<4)|lb; - binBuffer.push_back(r); - } - numOfOLEChars++; - } - } - void addCharU(sal_Unicode /*ch*/) - { - } - void addHexChar(char* /*hexch*/) - { - } - - -public: - MyRtfScannerHandler(uno::Reference<lang::XMultiServiceFactory> &xServiceFactory_, uno::Reference<com::sun::star::ucb::XSimpleFileAccess> &xFileAccess_, uno::Reference<embed::XStorage> &xStorage_) : - objDataLevel(0), numOfOLEs(0),hb(0), numOfOLEChars(0), - xServiceFactory(xServiceFactory_), - xFileAccess(xFileAccess_), - xStorage(xStorage_) - { - } - - virtual ~MyRtfScannerHandler() {} - - void dump() - { - printf("Destinations:\n"); - for(ScannerTestServiceTokenMap::iterator i=destMap.begin();i!=destMap.end();++i) - { - printf(" %s\n", i->getStr()); - } - printf("Ctrls:\n"); - for(ScannerTestServiceTokenMap::iterator i=ctrlMap.begin();i!=ctrlMap.end();++i) - { - printf(" %s\n", i->getStr()); - } - } -}; - -class RtfInputSourceImpl : public rtftok::RTFInputSource -{ -private: - uno::Reference< io::XInputStream > xInputStream; - uno::Reference< io::XSeekable > xSeekable; - uno::Reference< task::XStatusIndicator > xStatusIndicator; - sal_Int64 bytesTotal; - sal_Int64 bytesRead; -public: - RtfInputSourceImpl(uno::Reference< io::XInputStream > &xInputStream_, uno::Reference< task::XStatusIndicator > &xStatusIndicator_) : - xInputStream(xInputStream_), - xStatusIndicator(xStatusIndicator_), - bytesRead(0) - { - xSeekable=uno::Reference< io::XSeekable >(xInputStream, uno::UNO_QUERY); - if (xSeekable.is()) - bytesTotal=xSeekable->getLength(); - if (xStatusIndicator.is() && xSeekable.is()) - { - xStatusIndicator->start(OUString("Converting"), 100); - } - } - - virtual ~RtfInputSourceImpl() {} - - int read(void *buf, int maxlen) - { - uno::Sequence< sal_Int8 > buffer; - int len=xInputStream->readSomeBytes(buffer,maxlen); - if (len>0) - { - sal_Int8 *_buffer=buffer.getArray(); - memcpy(buf, _buffer, len); - bytesRead+=len; - if (xStatusIndicator.is()) - { - if (xSeekable.is()) - { - xStatusIndicator->setValue((int)(bytesRead*100/bytesTotal)); - } - else - { - char buf1[100]; - sprintf(buf1, "Converted %" SAL_PRIdINT64 " KB", bytesRead/1024); - xStatusIndicator->start(OUString::createFromAscii(buf1), 0); - } - } - return len; - } - else - { - if (xStatusIndicator.is()) - { - xStatusIndicator->end(); - } - return 0; - } - } -}; - -ScannerTestService::ScannerTestService(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL ScannerTestService::run( const uno::Sequence< OUString >& aArguments ) throw (uno::RuntimeException) -{ - - printf("TEST\n"); - - uno::Sequence<uno::Any> aUcbInitSequence(2); - aUcbInitSequence[0] <<= OUString("Local"); - aUcbInitSequence[1] <<= OUString("Office"); - uno::Reference<lang::XMultiServiceFactory> xServiceFactory(xContext->getServiceManager(), uno::UNO_QUERY_THROW); - printf("A\n"); - uno::Reference<lang::XMultiComponentFactory> xFactory(xContext->getServiceManager(), uno::UNO_QUERY_THROW ); - printf("B\n"); - if (::ucbhelper::ContentBroker::initialize(xServiceFactory, aUcbInitSequence)) - { - printf("C\n"); - OUString arg=aArguments[0]; - - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - OUString absFileUrl; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrl.pData); - rtl_uString_release(dir); - - uno::Reference <lang::XSingleServiceFactory> xStorageFactory( - xServiceFactory->createInstance (OUString("com.sun.star.embed.StorageFactory")), uno::UNO_QUERY_THROW); - - OUString outFileUrl; - { - rtl_uString *dir1=NULL; - osl_getProcessWorkingDir(&dir1); - osl_getAbsoluteFileURL(dir1, aArguments[1].pData, &outFileUrl.pData); - rtl_uString_release(dir1); - } - - uno::Sequence< uno::Any > aArgs2( 2 ); - aArgs2[0] <<= outFileUrl; - aArgs2[1] <<= embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE; - uno::Reference<embed::XStorage> xStorage(xStorageFactory->createInstanceWithArguments(aArgs2), uno::UNO_QUERY_THROW); - uno::Reference<beans::XPropertySet> xPropSet(xStorage, uno::UNO_QUERY_THROW); - xPropSet->setPropertyValue(OUString("MediaType"), uno::makeAny(OUString("application/vnd.oasis.opendocument.text"))); - uno::Reference<io::XInputStream> xInputStream = xFileAccess->openFileRead(absFileUrl); - uno::Reference< task::XStatusIndicator > xStatusIndicator; - - TimeValue t1; osl_getSystemTime(&t1); - - RtfInputSourceImpl rtfInputSource(xInputStream, xStatusIndicator); - MyRtfScannerHandler eventHandler(xServiceFactory, xFileAccess, xStorage); - writerfilter::rtftok::RTFScanner *rtfScanner=writerfilter::rtftok::RTFScanner::createRTFScanner(rtfInputSource, eventHandler); - - rtfScanner->yylex(); - delete rtfScanner; - - TimeValue t2; osl_getSystemTime(&t2); - printf("time=%" SAL_PRIuUINT32 "s\n", t2.Seconds-t1.Seconds); - - uno::Reference<embed::XTransactedObject> xTransact(xStorage, uno::UNO_QUERY); - xTransact->commit(); - - - ::ucbhelper::ContentBroker::deinitialize(); - } - else - { - fprintf(stderr, "can't initialize UCB"); - } - return 0; -} - -OUString ScannerTestService_getImplementationName () -{ - return OUString(ScannerTestService::IMPLEMENTATION_NAME ); -} - -sal_Bool SAL_CALL ScannerTestService_supportsService( const OUString& ServiceName ) -{ - return ServiceName == ScannerTestService::SERVICE_NAME; -} -uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(ScannerTestService::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL ScannerTestService_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new ScannerTestService( xContext ); -} - -} } /* end namespace writerfilter::rtftok */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.hxx b/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.hxx deleted file mode 100644 index 61d4ed1bba70..000000000000 --- a/writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_RTFTOK_SCANNERTESTSERVICE_HXX -#define INCLUDED_RTFTOK_SCANNERTESTSERVICE_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace rtftok { - -class ScannerTestService : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - ScannerTestService(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString ScannerTestService_getImplementationName (); -sal_Bool SAL_CALL ScannerTestService_supportsService( const OUString& ServiceName ); -::com::sun::star::uno::Sequence< OUString > SAL_CALL ScannerTestService_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ScannerTestService_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::rtftok */ - -#define RTFTOK_SCANNERTESTSERVICE_COMPONENT_ENTRY \ -{\ - writerfilter::rtftok::ScannerTestService_createInstance,\ - writerfilter::rtftok::ScannerTestService_getImplementationName,\ - writerfilter::rtftok::ScannerTestService_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_RTFTOK_SCANNERTESTSERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.cxx b/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.cxx deleted file mode 100644 index 819e92fa272e..000000000000 --- a/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.cxx +++ /dev/null @@ -1,306 +0,0 @@ -/* -*- 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 "XMLScanner.hxx" -#include <stdio.h> -#include <string.h> -#include <wchar.h> -#include <rtftok/RTFScanner.hxx> -#include <rtftok/RTFScannerHandler.hxx> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/task/XStatusIndicator.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <ucbhelper/contentbroker.hxx> -#include <com/sun/star/ucb/XSimpleFileAccess.hpp> -#include <osl/process.h> -#include <rtl/string.hxx> -#include <boost/unordered_set.hpp> -#include <assert.h> -#include <string> -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/embed/XTransactedObject.hpp> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/util/XCloseable.hpp> -#include <comphelper/storagehelper.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <comphelper/seqstream.hxx> - -#include <ctype.h> -#include <iostream> - -using namespace ::com::sun::star; -using namespace ::std; - -namespace writerfilter { namespace rtftok { - -const sal_Char XMLScanner::SERVICE_NAME[40] = "debugservices.rtftok.XMLScanner"; -const sal_Char XMLScanner::IMPLEMENTATION_NAME[40] = "debugservices.rtftok.XMLScanner"; - -class XmlRtfScannerHandler : public writerfilter::rtftok::RTFScannerHandler -{ - std::vector<unsigned char> binBuffer; - int objDataLevel; - int numOfOLEs; - unsigned char hb; - int numOfOLEChars; - uno::Reference<lang::XMultiServiceFactory> xServiceFactory; - uno::Reference<com::sun::star::ucb::XSimpleFileAccess> xFileAccess; - string charBuffer; - string ucharBuffer; - vector<string> vCloseTags; - - void xmlout(const string & str) - { - for (size_t n = 0; n < str.length(); ++n) - { - char c = str[n]; - - switch (c) - { - case '<': cout << "<"; break; - case '>': cout << ">"; break; - case '&': cout << "&"; break; - default: - cout << c; - - break; - } - } - } - - void clearBuffers() - { - if (charBuffer.length() > 0) - { - cout << "<text>"; - xmlout(charBuffer); - cout << "</text>" << endl; - } - - charBuffer = ""; - - if (ucharBuffer.length() > 0) - { - cout << "<utext>"; - xmlout(ucharBuffer); - cout << ucharBuffer << "</utext>" << endl; - } - - ucharBuffer = ""; - } - - void dest(char* token, char* value) - { - clearBuffers(); - cout << "<dest name=\"" << token << "\" value=\""<< value << "\">" << endl; - vCloseTags.push_back("</dest>"); - } - void ctrl(char*token, char* value) - { - clearBuffers(); - cout << "<" << token << ">" << value << "</" << token << ">" - << endl; - } - void lbrace(void) - { - clearBuffers(); - cout << "<brace>" << endl; - vCloseTags.push_back("</brace>"); - } - void rbrace(void) - { - clearBuffers(); - cout << vCloseTags.back() << endl; - vCloseTags.pop_back(); - } - void addSpaces(int count) - { - clearBuffers(); - cout << "<spaces count=\"" << count << "\"/>" << endl; - } - void addBinData(unsigned char /*data*/) - { - clearBuffers(); - cout << "<bindata/>" << endl; - } - void addChar(char ch) - { - charBuffer += ch; - } - void addCharU(sal_Unicode ch) - { - ucharBuffer += sal_Char(ch < 128 ? ch : '.'); - } - void addHexChar(char* hexch) - { - clearBuffers(); - cout << "<hexchar value=\"" << hexch << "\"/>" << endl; - } - -public: - XmlRtfScannerHandler(uno::Reference<lang::XMultiServiceFactory> &xServiceFactory_, uno::Reference<com::sun::star::ucb::XSimpleFileAccess> &xFileAccess_) : - objDataLevel(0), numOfOLEs(0),hb(0),numOfOLEChars(0), - xServiceFactory(xServiceFactory_), - xFileAccess(xFileAccess_) - { - } - - virtual ~XmlRtfScannerHandler() {} - - void dump() - { - } -}; - -class RtfInputSourceImpl : public rtftok::RTFInputSource -{ -private: - uno::Reference< io::XInputStream > xInputStream; - uno::Reference< io::XSeekable > xSeekable; - uno::Reference< task::XStatusIndicator > xStatusIndicator; - sal_Int64 bytesTotal; - sal_Int64 bytesRead; -public: - RtfInputSourceImpl(uno::Reference< io::XInputStream > &xInputStream_, uno::Reference< task::XStatusIndicator > &xStatusIndicator_) : - xInputStream(xInputStream_), - xStatusIndicator(xStatusIndicator_), - bytesRead(0) - { - xSeekable=uno::Reference< io::XSeekable >(xInputStream, uno::UNO_QUERY); - if (xSeekable.is()) - bytesTotal=xSeekable->getLength(); - if (xStatusIndicator.is() && xSeekable.is()) - { - xStatusIndicator->start(OUString("Converting"), 100); - } - } - - virtual ~RtfInputSourceImpl() {} - - int read(void *buf, int maxlen) - { - uno::Sequence< sal_Int8 > buffer; - int len=xInputStream->readSomeBytes(buffer,maxlen); - if (len>0) - { - sal_Int8 *_buffer=buffer.getArray(); - memcpy(buf, _buffer, len); - bytesRead+=len; - if (xStatusIndicator.is()) - { - if (xSeekable.is()) - { - xStatusIndicator->setValue((int)(bytesRead*100/bytesTotal)); - } - else - { - char buf1[100]; - sprintf(buf1, "Converted %" SAL_PRIdINT64 " KB", bytesRead/1024); - xStatusIndicator->start(OUString::createFromAscii(buf1), 0); - } - } - return len; - } - else - { - if (xStatusIndicator.is()) - { - xStatusIndicator->end(); - } - return 0; - } - } -}; - -XMLScanner::XMLScanner(const uno::Reference< uno::XComponentContext > &xContext_) : -xContext( xContext_ ) -{ -} - -sal_Int32 SAL_CALL XMLScanner::run( const uno::Sequence< OUString >& aArguments ) throw (uno::RuntimeException) -{ - uno::Sequence<uno::Any> aUcbInitSequence(2); - aUcbInitSequence[0] <<= OUString("Local"); - aUcbInitSequence[1] <<= OUString("Office"); - uno::Reference<lang::XMultiServiceFactory> xServiceFactory(xContext->getServiceManager(), uno::UNO_QUERY_THROW); - if (::ucbhelper::ContentBroker::initialize(xServiceFactory, aUcbInitSequence)) - { - OUString arg=aArguments[0]; - - uno::Reference<ucb::XSimpleFileAccess2> xFileAccess(ucb::SimpleFileAccess::create(xContext)); - - rtl_uString *dir=NULL; - osl_getProcessWorkingDir(&dir); - OUString absFileUrl; - osl_getAbsoluteFileURL(dir, arg.pData, &absFileUrl.pData); - rtl_uString_release(dir); - - uno::Reference <lang::XSingleServiceFactory> xStorageFactory( - xServiceFactory->createInstance (OUString("com.sun.star.embed.StorageFactory")), uno::UNO_QUERY_THROW); - - uno::Reference<io::XInputStream> xInputStream = xFileAccess->openFileRead(absFileUrl); - uno::Reference< task::XStatusIndicator > xStatusIndicator; - - RtfInputSourceImpl rtfInputSource(xInputStream, xStatusIndicator); - XmlRtfScannerHandler eventHandler(xServiceFactory, xFileAccess); - writerfilter::rtftok::RTFScanner *rtfScanner=writerfilter::rtftok::RTFScanner::createRTFScanner(rtfInputSource, eventHandler); - - cout << "<out>" << endl; - rtfScanner->yylex(); - cout << "</out>" << endl; - delete rtfScanner; - - ::ucbhelper::ContentBroker::deinitialize(); - } - else - { - fprintf(stderr, "can't initialize UCB"); - } - return 0; -} - -OUString XMLScanner_getImplementationName () -{ - return OUString(XMLScanner::IMPLEMENTATION_NAME ); -} - -sal_Bool SAL_CALL XMLScanner_supportsService( const OUString& ServiceName ) -{ - return ServiceName == XMLScanner::SERVICE_NAME; -} -uno::Sequence< OUString > SAL_CALL XMLScanner_getSupportedServiceNames( ) throw (uno::RuntimeException) -{ - uno::Sequence < OUString > aRet(1); - OUString* pArray = aRet.getArray(); - pArray[0] = OUString(XMLScanner::SERVICE_NAME ); - return aRet; -} - -uno::Reference< uno::XInterface > SAL_CALL XMLScanner_createInstance( const uno::Reference< uno::XComponentContext > & xContext) throw( uno::Exception ) -{ - return (cppu::OWeakObject*) new XMLScanner( xContext ); -} - -} } /* end namespace writerfilter::rtftok */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.hxx b/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.hxx deleted file mode 100644 index 10be77462aaf..000000000000 --- a/writerfilter/unocomponent/debugservices/rtftok/XMLScanner.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- 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 . - */ - -#ifndef INCLUDED_RTFTOK_XMLSCANNER_HXX -#define INCLUDED_RTFTOK_XMLSCANNER_HXX - -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/lang/XMain.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace writerfilter { namespace rtftok { - -class XMLScanner : public cppu::WeakImplHelper1 < ::com::sun::star::lang::XMain > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > xContext; - -public: - XMLScanner(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext); - - virtual ::sal_Int32 SAL_CALL run( const ::com::sun::star::uno::Sequence< OUString >& aArguments ) throw (::com::sun::star::uno::RuntimeException); - -public: - const static sal_Char SERVICE_NAME[40]; - const static sal_Char IMPLEMENTATION_NAME[40]; - -}; - -OUString XMLScanner_getImplementationName (); -sal_Bool SAL_CALL XMLScanner_supportsService( const OUString& ServiceName ); -::com::sun::star::uno::Sequence< OUString > SAL_CALL XMLScanner_getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XMLScanner_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext) throw( ::com::sun::star::uno::Exception ); - -} } /* end namespace writerfilter::rtftok */ - -#define RTFTOK_XMLSCANNER_COMPONENT_ENTRY \ -{\ - writerfilter::rtftok::XMLScanner_createInstance,\ - writerfilter::rtftok::XMLScanner_getImplementationName,\ - writerfilter::rtftok::XMLScanner_getSupportedServiceNames,\ - ::cppu::createSingleComponentFactory,\ - 0, 0\ -} - - -#endif /* INCLUDED_RTFTOK_SCANNERTESTSERVICE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |