ooo-build r12511 - in trunk: . patches/dev300



Author: thorstenb
Date: Fri May  9 21:50:26 2008
New Revision: 12511
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12511&view=rev

Log:
	* patches/dev300/svg-import-standalone-conv.diff: standalone
	converter binary - useful for unit testing & generally quicker for
	turn-arounds.



Added:
   trunk/patches/dev300/svg-import-standalone-conv.diff
Modified:
   trunk/ChangeLog

Added: trunk/patches/dev300/svg-import-standalone-conv.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/svg-import-standalone-conv.diff	Fri May  9 21:50:26 2008
@@ -0,0 +1,194 @@
+--- filter/source/svg/makefile.mk
++++ filter/source/svg/makefile.mk
+@@ -50,6 +50,7 @@ SLOFILES= \
+ 			$(SLO)$/svgfontexport.obj	\
+ 			$(SLO)$/svgimport.obj		\
+ 			$(SLO)$/svgreader.obj		\
++			$(SLO)$/odfserializer.obj	\
+ 			$(SLO)$/svguno.obj			\
+ 			$(SLO)$/svgwriter.obj		\
+ 			$(SLO)$/tokenmap.obj        \
+@@ -87,6 +88,29 @@ SHL1DEF=	$(MISC)$/$(SHL1TARGET).def
+ 
+ DEF1NAME=$(SHL1TARGET)
+ 
++# --- svg2odf binary ------------------------------------------------------
++
++TARGET2=svg2odf
++
++APP1TARGET=$(TARGET2)
++APP1LIBSALCPPRT=
++APP1OBJS=$(SLO)$/svg2odf.obj
++APP1OBJS+=$(SLOFILES)
++
++APP1STDLIBS=\
++	$(BASEGFXLIB)		\
++	$(SVXLIB)			\
++	$(XMLOFFLIB)		\
++	$(BASEGFXLIB)		\
++	$(VCLLIB)			\
++	$(UNOTOOLSLIB)		\
++	$(TOOLSLIB)			\
++	$(COMPHELPERLIB)	\
++	$(CPPUHELPERLIB)	\
++	$(CPPULIB)			\
++	$(SALLIB)			\
++	$(LIBXML)
++
+ # --- Targets ----------------------------------
+ 
+ .INCLUDE : target.mk
+@@ -104,3 +128,26 @@ $(SLO)$/parserfragments.obj : $(INCCOM)$/tokens.cxx $(INCCOM)$/tokens.hxx
+ 
+ $(SLO)$/svgreader.obj : $(INCCOM)$/tokens.cxx $(INCCOM)$/tokens.hxx
+ 
++# svg2odf hacks
++
++.IF "$(GUI)" == "WNT"
++SAXPARSERLIB=$(SOLARBINDIR)$/sax.uno$(DLLPOST)
++UNOXMLLIB=$(SOLARBINDIR)$/$(DLLPRE)unoxml$(OFFICEUPD)$(DLLPOSTFIX)$(DLLPOST)
++.ELSE
++SAXPARSERLIB=$(SOLARLIBDIR)$/sax.uno$(DLLPOST)
++UNOXMLLIB=$(SOLARLIBDIR)$/$(DLLPRE)unoxml$(OFFICEUPD)$(DLLPOSTFIX)$(DLLPOST)
++.ENDIF
++
++$(BIN)$/unittestservices.rdb : makefile.mk $(SAXPARSERLIB) $(UNOXMLLIB)
++    rm -f $@
++	$(REGCOMP) -register -r $@ -c $(SAXPARSERLIB)
++	$(REGCOMP) -register -r $@ -c $(UNOXMLLIB)
++
++$(BIN)$/svgi_unittest_test.ini : makefile.mk
++	rm -f $@
++	@echo UNO_SERVICES=$(BIN)$/unittestservices.rdb > $@
++	@echo UNO_TYPES=$(UNOUCRRDB:s/\/\\/) >> $@
++
++ALLTAR : $(BIN)$/svgi_unittest_test.ini \
++		 $(BIN)$/unittestservices.rdb \
++         $(foreach,i,$(TESTFILES:s/.svg/_svgi_unittest_succeeded/:f) $(MISC)$/$i)
+--- filter/source/svg/svg2odf.cxx	2007-09-21 21:12:45.000000000 +0200
++++ filter/source/svg/svg2odf.cxx	2008-05-08 12:30:41.000000000 +0200
+@@ -0,0 +1,124 @@
++/*************************************************************************
++ *
++ *    OpenOffice.org - a multi-platform office productivity suite
++ *
++ *    Author:
++ *      Fridrich Strba  <fridrich strba bluewin ch>
++ *      Thorsten Behrens <tbehrens novell com>	   	
++ *
++ *      Copyright (C) 2008, Novell Inc.
++ *      Parts copyright 2005 by Sun Microsystems, Inc.
++ *
++ *   The Contents of this file are made available subject to
++ *   the terms of GNU Lesser General Public License Version 2.1.
++ *
++ ************************************************************************/
++
++// MARKER(update_precomp.py): autogen include statement, do not remove
++#include "precompiled_filter.hxx"
++
++#include "svgreader.hxx" 
++#include "odfserializer.hxx" 
++
++#include <sal/main.h>
++#include <osl/file.hxx>
++#include <osl/process.h>
++#include <rtl/bootstrap.hxx>
++
++#include <cppuhelper/implbase1.hxx>
++#include <cppuhelper/bootstrap.hxx>
++#include <cppuhelper/servicefactory.hxx>
++#include <comphelper/processfactory.hxx>
++#include <comphelper/oslfile2streamwrap.hxx>
++
++using namespace ::com::sun::star;
++
++namespace
++{
++    class OutputWrap : public cppu::WeakImplHelper1<
++        io::XOutputStream>
++    {
++        osl::File maFile;
++
++    public:
++
++        explicit OutputWrap( const rtl::OUString& rURL ) : maFile(rURL) 
++        {
++            maFile.open(osl_File_OpenFlag_Create|OpenFlag_Write);
++        }
++
++		virtual void SAL_CALL writeBytes( const com::sun::star::uno::Sequence< ::sal_Int8 >& aData ) throw (com::sun::star::io::NotConnectedException,com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException, com::sun::star::uno::RuntimeException)
++
++        {
++            sal_uInt64 nBytesWritten(0);
++            maFile.write(aData.getConstArray(),aData.getLength(),nBytesWritten);
++        }
++
++        virtual void SAL_CALL flush() throw (com::sun::star::io::NotConnectedException, com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException, com::sun::star::uno::RuntimeException)
++        {
++        }
++
++        virtual void SAL_CALL closeOutput() throw (com::sun::star::io::NotConnectedException, com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException, com::sun::star::uno::RuntimeException)
++        {
++            maFile.close();
++        }
++    };
++}
++
++SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
++{
++	if( argc != 4 )
++    {
++        OSL_TRACE( "Invocation: svg2odf <base_url> <dst_url> <ini_file>. Exiting" );
++		return 1;
++    }
++
++	::rtl::OUString aBaseURL, aTmpURL, aSrcURL, aDstURL, aIniUrl;
++    
++    osl_getProcessWorkingDir(&aBaseURL.pData);
++    osl_getFileURLFromSystemPath( rtl::OUString::createFromAscii(argv[1]).pData,
++                                  &aTmpURL.pData );
++    osl_getAbsoluteFileURL(aBaseURL.pData,aTmpURL.pData,&aSrcURL.pData);
++
++    osl_getFileURLFromSystemPath( rtl::OUString::createFromAscii(argv[2]).pData,
++                                  &aTmpURL.pData );
++    osl_getAbsoluteFileURL(aBaseURL.pData,aTmpURL.pData,&aDstURL.pData);
++
++	osl_getFileURLFromSystemPath( rtl::OUString::createFromAscii(argv[3]).pData, 
++								&aTmpURL.pData );
++    osl_getAbsoluteFileURL(aBaseURL.pData,aTmpURL.pData,&aIniUrl.pData);
++
++    // bootstrap UNO
++    uno::Reference< lang::XMultiServiceFactory > xFactory;
++    uno::Reference< uno::XComponentContext > xCtx;
++    try
++    {
++        xCtx = ::cppu::defaultBootstrap_InitialComponentContext(aIniUrl);
++        xFactory = uno::Reference< lang::XMultiServiceFactory >(xCtx->getServiceManager(), 
++                                                                uno::UNO_QUERY);
++        if( xFactory.is() )
++            ::comphelper::setProcessServiceFactory( xFactory );
++    }
++    catch( uno::Exception& )
++    {
++    }
++
++    if( !xFactory.is() )
++    {
++        OSL_TRACE( "Could not bootstrap UNO, installation must be in disorder. Exiting." );
++        return 1;
++    }
++
++    osl::File aInputFile(aSrcURL);
++    if( osl::FileBase::E_None!=aInputFile.open(OpenFlag_Read) )
++    {
++        OSL_TRACE( "Cannot open input file" );
++        return 1;
++    }
++
++    svgi::SVGReader aReader(xFactory, 
++                            uno::Reference<io::XInputStream>(
++                                new comphelper::OSLInputStreamWrapper(aInputFile)),
++                            svgi::createSerializer(new OutputWrap(aDstURL)));
++    return aReader.parseAndConvert() ? 0 : 1;
++}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]