diff options
140 files changed, 2498 insertions, 1321 deletions
diff --git a/canvas/prj/d.lst b/canvas/prj/d.lst index 986253a3b3e5..701b9967f92a 100644 --- a/canvas/prj/d.lst +++ b/canvas/prj/d.lst @@ -15,6 +15,7 @@ ..\%__SRC%\lib\canvasfactory.uno.so %_DEST%\lib%_EXT%\canvasfactory.uno.so ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib ..\%__SRC%\class\javacanvas.uno.jar %_DEST%\bin%_EXT%\javacanvas.uno.jar +..\%__SRC%\misc\cairocanvas.component %_DEST%\xml%_EXT%\cairocanvas.component mkdir: %_DEST%\inc%_EXT%\canvas\base ..\inc\canvas\base\*.hxx %_DEST%\inc%_EXT%\canvas\base\*.hxx @@ -24,3 +25,9 @@ mkdir: %_DEST%\inc%_EXT%\canvas\rendering mkdir: %_DEST%\inc%_EXT%\canvas ..\inc\canvas\*.hxx %_DEST%\inc%_EXT%\canvas\*.hxx +..\%__SRC%\misc\canvasfactory.component %_DEST%\xml%_EXT%\canvasfactory.component +..\%__SRC%\misc\directx5canvas.component %_DEST%\xml%_EXT%\directx5canvas.component +..\%__SRC%\misc\directx9canvas.component %_DEST%\xml%_EXT%\directx9canvas.component +..\%__SRC%\misc\gdipluscanvas.component %_DEST%\xml%_EXT%\gdipluscanvas.component +..\%__SRC%\misc\simplecanvas.component %_DEST%\xml%_EXT%\simplecanvas.component +..\%__SRC%\misc\vclcanvas.component %_DEST%\xml%_EXT%\vclcanvas.component diff --git a/canvas/source/cairo/cairocanvas.component b/canvas/source/cairo/cairocanvas.component new file mode 100644 index 000000000000..126ad2b44ee1 --- /dev/null +++ b/canvas/source/cairo/cairocanvas.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.Canvas.Cairo"> + <service name="com.sun.star.rendering.Canvas.Cairo"/> + </implementation> + <implementation name="com.sun.star.comp.rendering.SpriteCanvas.Cairo"> + <service name="com.sun.star.rendering.SpriteCanvas.Cairo"/> + </implementation> +</component> diff --git a/canvas/source/cairo/exports.dxp b/canvas/source/cairo/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/canvas/source/cairo/exports.dxp +++ b/canvas/source/cairo/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/canvas/source/cairo/makefile.mk b/canvas/source/cairo/makefile.mk index b0ff10fe96b0..040acd9ade8f 100644 --- a/canvas/source/cairo/makefile.mk +++ b/canvas/source/cairo/makefile.mk @@ -130,3 +130,11 @@ DEF1EXPORTFILE=exports.dxp # ========================================================================== .INCLUDE : target.mk + +ALLTAR : $(MISC)/cairocanvas.component + +$(MISC)/cairocanvas.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt cairocanvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt cairocanvas.component diff --git a/canvas/source/directx/directx5canvas.component b/canvas/source/directx/directx5canvas.component new file mode 100644 index 000000000000..80133e724df6 --- /dev/null +++ b/canvas/source/directx/directx5canvas.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.SpriteCanvas.DX5"> + <service name="com.sun.star.rendering.SpriteCanvas.DX5"/> + </implementation> +</component> diff --git a/canvas/source/directx/directx9canvas.component b/canvas/source/directx/directx9canvas.component new file mode 100644 index 000000000000..0d395892d4cb --- /dev/null +++ b/canvas/source/directx/directx9canvas.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.SpriteCanvas.DX9"> + <service name="com.sun.star.rendering.SpriteCanvas.DX9"/> + </implementation> +</component> diff --git a/canvas/source/directx/exports.dxp b/canvas/source/directx/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/canvas/source/directx/exports.dxp +++ b/canvas/source/directx/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/canvas/source/directx/gdipluscanvas.component b/canvas/source/directx/gdipluscanvas.component new file mode 100644 index 000000000000..e39e77444d59 --- /dev/null +++ b/canvas/source/directx/gdipluscanvas.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.BitmapCanvas.GDI+"> + <service name="com.sun.star.rendering.BitmapCanvas.GDI+"/> + </implementation> + <implementation name="com.sun.star.comp.rendering.Canvas.GDI+"> + <service name="com.sun.star.rendering.Canvas.GDI+"/> + </implementation> +</component> diff --git a/canvas/source/directx/makefile.mk b/canvas/source/directx/makefile.mk index 4ccd5a8448b2..9547fef40cc7 100644 --- a/canvas/source/directx/makefile.mk +++ b/canvas/source/directx/makefile.mk @@ -217,3 +217,25 @@ SHL3STDLIBS += imdebug.lib .INCLUDE : target.mk +ALLTAR : \ + $(MISC)/directx5canvas.component \ + $(MISC)/directx9canvas.component \ + $(MISC)/gdipluscanvas.component + +$(MISC)/directx5canvas.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt directx5canvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt directx5canvas.component + +$(MISC)/directx9canvas.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt directx9canvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt directx9canvas.component + +$(MISC)/gdipluscanvas.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt gdipluscanvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL3TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt gdipluscanvas.component diff --git a/canvas/source/factory/canvasfactory.component b/canvas/source/factory/canvasfactory.component new file mode 100644 index 000000000000..3896f4197d2f --- /dev/null +++ b/canvas/source/factory/canvasfactory.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.CanvasFactory"> + <service name="com.sun.star.rendering.CanvasFactory"/> + </implementation> +</component> diff --git a/canvas/source/factory/cf_service.cxx b/canvas/source/factory/cf_service.cxx index f949016d9f83..f4bbb57e0e7d 100644 --- a/canvas/source/factory/cf_service.cxx +++ b/canvas/source/factory/cf_service.cxx @@ -532,14 +532,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -sal_Bool SAL_CALL component_writeInfo( - lang::XMultiServiceFactory * pServiceManager, - registry::XRegistryKey * pRegistryKey ) -{ - return ::cppu::component_writeInfoHelper( - pServiceManager, pRegistryKey, s_entries ); -} - void * SAL_CALL component_getFactory( sal_Char const * pImplName, lang::XMultiServiceFactory * pServiceManager, diff --git a/canvas/source/factory/makefile.mk b/canvas/source/factory/makefile.mk index fc6d423192d6..eee24ea8ba85 100644 --- a/canvas/source/factory/makefile.mk +++ b/canvas/source/factory/makefile.mk @@ -54,3 +54,10 @@ DEF1NAME = $(SHL1TARGET) .ENDIF .INCLUDE : target.mk +ALLTAR : $(MISC)/canvasfactory.component + +$(MISC)/canvasfactory.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt canvasfactory.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt canvasfactory.component diff --git a/canvas/source/null/exports.dxp b/canvas/source/null/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/canvas/source/null/exports.dxp +++ b/canvas/source/null/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/canvas/source/simplecanvas/exports.dxp b/canvas/source/simplecanvas/exports.dxp index 0c2e3e7cddd7..0cb5620a1603 100644 --- a/canvas/source/simplecanvas/exports.dxp +++ b/canvas/source/simplecanvas/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory
\ No newline at end of file diff --git a/canvas/source/simplecanvas/makefile.mk b/canvas/source/simplecanvas/makefile.mk index 4d5a7e7bb3a1..8c3a9deede72 100644 --- a/canvas/source/simplecanvas/makefile.mk +++ b/canvas/source/simplecanvas/makefile.mk @@ -61,3 +61,11 @@ DEF1EXPORTFILE=exports.dxp # ========================================================================== .INCLUDE : target.mk + +ALLTAR : $(MISC)/simplecanvas.component + +$(MISC)/simplecanvas.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt simplecanvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt simplecanvas.component diff --git a/canvas/source/simplecanvas/simplecanvas.component b/canvas/source/simplecanvas/simplecanvas.component new file mode 100644 index 000000000000..3a00b407375e --- /dev/null +++ b/canvas/source/simplecanvas/simplecanvas.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.SimpleCanvas"> + <service name="com.sun.star.rendering.SimpleCanvas"/> + </implementation> +</component> diff --git a/canvas/source/vcl/exports.dxp b/canvas/source/vcl/exports.dxp index 0c2e3e7cddd7..0cb5620a1603 100644 --- a/canvas/source/vcl/exports.dxp +++ b/canvas/source/vcl/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory
\ No newline at end of file diff --git a/canvas/source/vcl/makefile.mk b/canvas/source/vcl/makefile.mk index be2fc69894a4..7d5f9658c829 100644 --- a/canvas/source/vcl/makefile.mk +++ b/canvas/source/vcl/makefile.mk @@ -83,3 +83,11 @@ DEF1EXPORTFILE=exports.dxp # ========================================================================== .INCLUDE : target.mk + +ALLTAR : $(MISC)/vclcanvas.component + +$(MISC)/vclcanvas.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + vclcanvas.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt vclcanvas.component diff --git a/canvas/source/vcl/vclcanvas.component b/canvas/source/vcl/vclcanvas.component new file mode 100644 index 000000000000..f7e0bb8c0266 --- /dev/null +++ b/canvas/source/vcl/vclcanvas.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.rendering.Canvas.VCL"> + <service name="com.sun.star.rendering.Canvas.VCL"/> + </implementation> + <implementation name="com.sun.star.comp.rendering.SpriteCanvas.VCL"> + <service name="com.sun.star.rendering.SpriteCanvas.VCL"/> + </implementation> +</component> diff --git a/comphelper/inc/comphelper/componentmodule.hxx b/comphelper/inc/comphelper/componentmodule.hxx index 660a685d0fd3..61ddddebadbf 100644 --- a/comphelper/inc/comphelper/componentmodule.hxx +++ b/comphelper/inc/comphelper/componentmodule.hxx @@ -34,7 +34,6 @@ #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/lang/XSingleServiceFactory.hpp> #include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/registry/XRegistryKey.hpp> /** === end UNO includes === **/ #include <cppuhelper/factory.hxx> @@ -140,28 +139,6 @@ namespace comphelper */ void registerImplementation( const ComponentDescription& _rComp ); - /** write the registration information of all known components - - Writes the registration information of all components which are currently registered into the - specified registry. - - Usually used from within component_writeInfo. - - @param_rxServiceManager - the service manager - @param _rRootKey - the registry key under which the information will be stored - @return - <TRUE/> if the registration of all implementations was successfull, <FALSE/> otherwise - */ - sal_Bool writeComponentInfos( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey >& _rRootKey); - - /** version of writeComponentInfos which directly takes the arguments you got in your component_writeInfo call - */ - sal_Bool writeComponentInfos( void* pServiceManager, void* pRegistryKey ); - /** creates a Factory for the component with the given implementation name. <p>Usually used from within component_getFactory.<p/> @param _rxServiceManager @@ -420,12 +397,6 @@ namespace comphelper { \ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; \ } \ - extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( \ - void* pServiceManager, void* pRegistryKey ) \ - { \ - initializer_function(); \ - return module_class::getInstance().writeComponentInfos( pServiceManager, pRegistryKey ); \ - } \ extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( \ const sal_Char* pImplementationName, void* pServiceManager, void* pRegistryKey ) \ { \ diff --git a/comphelper/inc/comphelper/docpasswordrequest.hxx b/comphelper/inc/comphelper/docpasswordrequest.hxx index cf04d22c7a6d..effc47392078 100755 --- a/comphelper/inc/comphelper/docpasswordrequest.hxx +++ b/comphelper/inc/comphelper/docpasswordrequest.hxx @@ -34,8 +34,12 @@ #include <cppuhelper/implbase1.hxx> #include <cppuhelper/weak.hxx> + namespace comphelper { +class AbortContinuation; +class PasswordContinuation; + // ============================================================================ /** Selects which UNO document password request type to use. */ @@ -47,8 +51,37 @@ enum DocPasswordRequestType // ============================================================================ -class AbortContinuation; -class PasswordContinuation; +class COMPHELPER_DLLPUBLIC SimplePasswordRequest : + public ::com::sun::star::task::XInteractionRequest, + public ::cppu::OWeakObject +{ +public: + explicit SimplePasswordRequest( com::sun::star::task::PasswordRequestMode eMode ); + virtual ~SimplePasswordRequest(); + + // XInterface / OWeakObject + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire( ) throw (); + virtual void SAL_CALL release( ) throw (); + + sal_Bool isAbort() const; + sal_Bool isPassword() const; + + ::rtl::OUString getPassword() const; + +private: + // XInteractionRequest + virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException ); + +private: + ::com::sun::star::uno::Any maRequest; + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > maContinuations; + AbortContinuation * mpAbort; + PasswordContinuation * mpPassword; +}; + +// ============================================================================ /** Implements the task.XInteractionRequest interface for requesting a password string for a document. @@ -79,20 +112,15 @@ public: sal_Bool getRecommendReadOnly() const; private: - virtual ::com::sun::star::uno::Any SAL_CALL - getRequest() throw( ::com::sun::star::uno::RuntimeException ); - - virtual ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL - getContinuations() throw( ::com::sun::star::uno::RuntimeException ); + // XInteractionRequest + virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException ); private: - ::com::sun::star::uno::Any maRequest; + ::com::sun::star::uno::Any maRequest; ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > maContinuations; - AbortContinuation* mpAbort; - PasswordContinuation* mpPassword; - - sal_Bool mbPasswordToModify; + AbortContinuation * mpAbort; + PasswordContinuation * mpPassword; }; // ============================================================================ diff --git a/comphelper/inc/comphelper/servicedecl.hxx b/comphelper/inc/comphelper/servicedecl.hxx index 5d11d41831f5..adf120b3bae2 100644 --- a/comphelper/inc/comphelper/servicedecl.hxx +++ b/comphelper/inc/comphelper/servicedecl.hxx @@ -134,8 +134,6 @@ public: m_pServiceNames(pSupportedServiceNames), m_cDelim(cDelim) {} - /// @internal gets called by component_writeInfoHelper() - bool writeInfo( ::com::sun::star::registry::XRegistryKey * xKey ) const; /// @internal gets called by component_getFactoryHelper() void * getFactory( sal_Char const* pImplName ) const; @@ -323,9 +321,6 @@ struct class_ : public serviceimpl_base< detail::ServiceImpl<ImplT_>, WithArgsT // component_... helpers with arbitrary service declarations: // -#define COMPHELPER_SERVICEDECL_writeInfo(z_, n_, unused_) \ - bRet &= BOOST_PP_CAT(s, n_).writeInfo( xRegistryKey ); - #define COMPHELPER_SERVICEDECL_getFactory(z_, n_, unused_) \ if (pRet == 0) \ pRet = BOOST_PP_CAT(s, n_).getFactory(pImplName); @@ -333,11 +328,6 @@ struct class_ : public serviceimpl_base< detail::ServiceImpl<ImplT_>, WithArgsT /** The following preprocessor repetitions generate functions like <pre> - inline sal_Bool component_writeInfoHelper( - ::com::sun::star::lang::XMultiServiceFactory *, - ::com::sun::star::registry::XRegistryKey * xRegistryKey, - ServiceDecl const& s0, ServiceDecl const& s1, ... ); - inline void * component_getFactoryHelper( sal_Char const* pImplName, ::com::sun::star::lang::XMultiServiceFactory *, @@ -351,15 +341,6 @@ struct class_ : public serviceimpl_base< detail::ServiceImpl<ImplT_>, WithArgsT COMPHELPER_SERVICEDECL_COMPONENT_HELPER_MAX_ARGS; its default is 8. */ #define COMPHELPER_SERVICEDECL_make(z_, n_, unused_) \ -inline sal_Bool component_writeInfoHelper( \ - ::com::sun::star::lang::XMultiServiceFactory *, \ - ::com::sun::star::registry::XRegistryKey * xRegistryKey, \ - BOOST_PP_ENUM_PARAMS(n_, ServiceDecl const& s) ) \ -{ \ - bool bRet = true; \ - BOOST_PP_REPEAT(n_, COMPHELPER_SERVICEDECL_writeInfo, ~) \ - return bRet; \ -} \ inline void * component_getFactoryHelper( \ sal_Char const* pImplName, \ ::com::sun::star::lang::XMultiServiceFactory *, \ @@ -381,7 +362,6 @@ BOOST_PP_REPEAT_FROM_TO(1, COMPHELPER_SERVICEDECL_COMPONENT_HELPER_MAX_ARGS, #undef COMPHELPER_SERVICEDECL_COMPONENT_HELPER_MAX_ARGS #undef COMPHELPER_SERVICEDECL_make #undef COMPHELPER_SERVICEDECL_getFactory -#undef COMPHELPER_SERVICEDECL_writeInfo } // namespace service_decl } // namespace comphelper @@ -421,13 +401,6 @@ extern "C" \ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; \ } \ \ - SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( ::com::sun::star::lang::XMultiServiceFactory* pServiceManager, \ - ::com::sun::star::registry::XRegistryKey* pRegistryKey ) \ - { \ - return component_writeInfoHelper( pServiceManager, pRegistryKey, \ - BOOST_PP_SEQ_ENUM(varargs_) ); \ - } \ - \ SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( sal_Char const* pImplName, \ ::com::sun::star::lang::XMultiServiceFactory* pServiceManager, \ ::com::sun::star::registry::XRegistryKey* pRegistryKey ) \ diff --git a/comphelper/prj/d.lst b/comphelper/prj/d.lst index f4d09c54ba70..f05fcf0926dd 100644 --- a/comphelper/prj/d.lst +++ b/comphelper/prj/d.lst @@ -12,3 +12,4 @@ mkdir: %_DEST%\inc%_EXT%\comphelper mkdir: %_DEST%\inc%_EXT%\cppuhelper ..\inc\comphelper\extract.hxx %_DEST%\inc%_EXT%\cppuhelper\extract.hxx ..\version.mk %_DEST%\inc%_EXT%\comphelper\version.mk +..\%__SRC%\misc\comphelp4.component %_DEST%\xml%_EXT%\comphelp4.component diff --git a/comphelper/source/misc/componentmodule.cxx b/comphelper/source/misc/componentmodule.cxx index 63893d0f6d0d..1dfd99bfa07e 100644 --- a/comphelper/source/misc/componentmodule.cxx +++ b/comphelper/source/misc/componentmodule.cxx @@ -135,64 +135,6 @@ namespace comphelper } //-------------------------------------------------------------------------- - sal_Bool OModule::writeComponentInfos( void* pServiceManager, void* pRegistryKey ) - { - Reference< XMultiServiceFactory > xFactory( static_cast< XMultiServiceFactory* >( pServiceManager ) ); - Reference< XRegistryKey > xRegistryKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - return writeComponentInfos( xFactory, xRegistryKey ); - } - - //-------------------------------------------------------------------------- - sal_Bool OModule::writeComponentInfos( - const Reference< XMultiServiceFactory >& /*_rxServiceManager*/, - const Reference< XRegistryKey >& _rxRootKey ) - { - OSL_ENSURE( _rxRootKey.is(), "OModule::writeComponentInfos: invalid argument!" ); - - ::rtl::OUString sRootKey( "/", 1, RTL_TEXTENCODING_ASCII_US ); - - for ( ComponentDescriptions::const_iterator component = m_pImpl->m_aRegisteredComponents.begin(); - component != m_pImpl->m_aRegisteredComponents.end(); - ++component - ) - { - ::rtl::OUString sMainKeyName( sRootKey ); - sMainKeyName += component->sImplementationName; - sMainKeyName += ::rtl::OUString::createFromAscii( "/UNO/SERVICES" ); - - try - { - Reference< XRegistryKey > xNewKey( _rxRootKey->createKey( sMainKeyName ) ); - - const ::rtl::OUString* pService = component->aSupportedServices.getConstArray(); - const ::rtl::OUString* pServiceEnd = component->aSupportedServices.getConstArray() + component->aSupportedServices.getLength(); - for ( ; pService != pServiceEnd; ++pService ) - xNewKey->createKey( *pService ); - - if ( component->sSingletonName.getLength() ) - { - OSL_ENSURE( component->aSupportedServices.getLength() == 1, "OModule::writeComponentInfos: singletons should support exactly one service, shouldn't they?" ); - - ::rtl::OUString sSingletonKeyName( sRootKey ); - sSingletonKeyName += component->sImplementationName; - sSingletonKeyName += ::rtl::OUString::createFromAscii( "/UNO/SINGLETONS/" ); - sSingletonKeyName += component->sSingletonName; - - xNewKey = _rxRootKey->createKey( sSingletonKeyName ); - xNewKey->setStringValue( component->aSupportedServices[ 0 ] ); - } - } - catch( Exception& ) - { - OSL_ASSERT( "OModule::writeComponentInfos: something went wrong while creating the keys!" ); - return sal_False; - } - } - - return sal_True; - } - - //-------------------------------------------------------------------------- void* OModule::getComponentFactory( const sal_Char* _pImplementationName, void* _pServiceManager, void* /*_pRegistryKey*/ ) { Reference< XInterface > xFactory( getComponentFactory( diff --git a/comphelper/source/misc/docpasswordrequest.cxx b/comphelper/source/misc/docpasswordrequest.cxx index 17cdb0ae2d92..15c2e09ba0f3 100644..100755 --- a/comphelper/source/misc/docpasswordrequest.cxx +++ b/comphelper/source/misc/docpasswordrequest.cxx @@ -31,6 +31,7 @@ #include "comphelper/docpasswordrequest.hxx" #include <com/sun/star/task/DocumentMSPasswordRequest2.hpp> #include <com/sun/star/task/DocumentPasswordRequest2.hpp> +#include <com/sun/star/task/PasswordRequest.hpp> #include <com/sun/star/task/XInteractionAbort.hpp> #include <com/sun/star/task/XInteractionPassword2.hpp> @@ -44,6 +45,7 @@ using ::com::sun::star::uno::XInterface; using ::com::sun::star::task::InteractionClassification_QUERY; using ::com::sun::star::task::DocumentMSPasswordRequest2; using ::com::sun::star::task::DocumentPasswordRequest2; +using ::com::sun::star::task::PasswordRequest; using ::com::sun::star::task::PasswordRequestMode; using ::com::sun::star::task::XInteractionAbort; using ::com::sun::star::task::XInteractionContinuation; @@ -98,11 +100,74 @@ private: // ============================================================================ +SimplePasswordRequest::SimplePasswordRequest( PasswordRequestMode eMode ) +: mpAbort( NULL ) +, mpPassword( NULL ) +{ + PasswordRequest aRequest( OUString(), Reference< XInterface >(), + InteractionClassification_QUERY, eMode ); + maRequest <<= aRequest; + + maContinuations.realloc( 2 ); + maContinuations[ 0 ].set( mpAbort = new AbortContinuation ); + maContinuations[ 1 ].set( mpPassword = new PasswordContinuation ); +} + +SimplePasswordRequest::~SimplePasswordRequest() +{ +} + +/*uno::*/Any SAL_CALL SimplePasswordRequest::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) +{ + return ::cppu::queryInterface ( rType, + // OWeakObject interfaces + dynamic_cast< XInterface* > ( (XInteractionRequest *) this ), + static_cast< XWeak* > ( this ), + // my own interfaces + static_cast< XInteractionRequest* > ( this ) ); +} + +void SAL_CALL SimplePasswordRequest::acquire( ) throw () +{ + OWeakObject::acquire(); +} + +void SAL_CALL SimplePasswordRequest::release( ) throw () +{ + OWeakObject::release(); +} + +sal_Bool SimplePasswordRequest::isAbort() const +{ + return mpAbort->isSelected(); +} + +sal_Bool SimplePasswordRequest::isPassword() const +{ + return mpPassword->isSelected(); +} + +OUString SimplePasswordRequest::getPassword() const +{ + return mpPassword->getPassword(); +} + +Any SAL_CALL SimplePasswordRequest::getRequest() throw( RuntimeException ) +{ + return maRequest; +} + +Sequence< Reference< XInteractionContinuation > > SAL_CALL SimplePasswordRequest::getContinuations() throw( RuntimeException ) +{ + return maContinuations; +} + +// ============================================================================ + DocPasswordRequest::DocPasswordRequest( DocPasswordRequestType eType, PasswordRequestMode eMode, const OUString& rDocumentName, sal_Bool bPasswordToModify ) : mpAbort( NULL ) , mpPassword( NULL ) -, mbPasswordToModify( bPasswordToModify ) { switch( eType ) { diff --git a/comphelper/source/misc/servicedecl.cxx b/comphelper/source/misc/servicedecl.cxx index 7c3dd169485d..7986407b0bd5 100644 --- a/comphelper/source/misc/servicedecl.cxx +++ b/comphelper/source/misc/servicedecl.cxx @@ -116,37 +116,6 @@ ServiceDecl::Factory::createInstanceWithArgumentsAndContext( m_rServiceDecl, args, xContext ); } -bool ServiceDecl::writeInfo( registry::XRegistryKey * xKey ) const -{ - bool bRet = false; - if (xKey != 0) { - rtl::OUStringBuffer buf; - buf.append( static_cast<sal_Unicode>('/') ); - buf.appendAscii( m_pImplName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("/UNO/SERVICES") ); - try { - uno::Reference<registry::XRegistryKey> const xNewKey( - xKey->createKey( buf.makeStringAndClear() ) ); - - rtl::OString const str(m_pServiceNames); - sal_Int32 nIndex = 0; - do { - rtl::OString const token( str.getToken( 0, m_cDelim, nIndex ) ); - xNewKey->createKey( - rtl::OUString( token.getStr(), token.getLength(), - RTL_TEXTENCODING_ASCII_US ) ); - } - while (nIndex >= 0); - - bRet = true; - } - catch (registry::InvalidRegistryException const&) { - OSL_ENSURE( false, "### InvalidRegistryException!" ); - } - } - return bRet; -} - void * ServiceDecl::getFactory( sal_Char const* pImplName ) const { if (rtl_str_compare(m_pImplName, pImplName) == 0) { diff --git a/comphelper/util/comphelp4.component b/comphelper/util/comphelp4.component new file mode 100644 index 000000000000..10d23d48bcea --- /dev/null +++ b/comphelper/util/comphelp4.component @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="AnyCompareFactory"> + <service name="com.sun.star.ucb.AnyCompareFactory"/> + </implementation> + <implementation name="IndexedPropertyValuesContainer"> + <service name="com.sun.star.document.IndexedPropertyValues"/> + </implementation> + <implementation name="NamedPropertyValuesContainer"> + <service name="com.sun.star.document.NamedPropertyValues"/> + </implementation> + <implementation name="com.sun.star.comp.MemoryStream"> + <service name="com.sun.star.comp.MemoryStream"/> + </implementation> + <implementation name="com.sun.star.comp.SequenceInputStreamService"> + <service name="com.sun.star.io.SequenceInputStream"/> + </implementation> + <implementation name="com.sun.star.comp.SequenceOutputStreamService"> + <service name="com.sun.star.io.SequenceOutputStream"/> + </implementation> + <implementation name="com.sun.star.comp.comphelper.OPropertyBag"> + <service name="com.sun.star.beans.PropertyBag"/> + </implementation> + <implementation name="com.sun.star.comp.embed.InstanceLocker"> + <service name="com.sun.star.embed.InstanceLocker"/> + </implementation> + <implementation name="com.sun.star.comp.logging.SimpleLogRing"> + <service name="com.sun.star.logging.SimpleLogRing"/> + <singleton name="com.sun.star.logging.DocumentIOLogRing"/> + </implementation> + <implementation name="com.sun.star.comp.task.OfficeRestartManager"> + <service name="com.sun.star.comp.task.OfficeRestartManager"/> + <singleton name="com.sun.star.task.OfficeRestartManager"/> + </implementation> + <implementation name="com.sun.star.comp.util.OfficeInstallationDirectories"> + <service name="com.sun.star.util.OfficeInstallationDirectories"/> + <singleton name="com.sun.star.util.theOfficeInstallationDirectories"/> + </implementation> + <implementation name="org.openoffice.comp.comphelper.EnumerableMap"> + <service name="com.sun.star.container.EnumerableMap"/> + </implementation> +</component> diff --git a/comphelper/util/exports.dxp b/comphelper/util/exports.dxp index 0c2e3e7cddd7..0cb5620a1603 100644 --- a/comphelper/util/exports.dxp +++ b/comphelper/util/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory
\ No newline at end of file diff --git a/comphelper/util/makefile.mk b/comphelper/util/makefile.mk index ae391e92abf7..62e66672a1cb 100644 --- a/comphelper/util/makefile.mk +++ b/comphelper/util/makefile.mk @@ -68,3 +68,11 @@ DEFLIB1NAME=$(TARGET) # --- Targets ---------------------------------- .INCLUDE : target.mk + +ALLTAR : $(MISC)/comphelp4.component + +$(MISC)/comphelp4.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + comphelp4.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt comphelp4.component diff --git a/dtrans/prj/d.lst b/dtrans/prj/d.lst index a1a7c2e95480..955aa075f24b 100644 --- a/dtrans/prj/d.lst +++ b/dtrans/prj/d.lst @@ -7,3 +7,8 @@ ..\source\win32\ftransl\ftransl.xml %_DEST%\xml%_EXT%\ftransl.xml ..\source\cnttype\mcnttype.xml %_DEST%\xml%_EXT%\mcnttype.xml ..\source\generic\dtrans.xml %_DEST%\xml%_EXT%\dtrans.xml +..\%__SRC%\misc\dnd.component %_DEST%\xml%_EXT%\dnd.component +..\%__SRC%\misc\dtrans.component %_DEST%\xml%_EXT%\dtrans.component +..\%__SRC%\misc\ftransl.component %_DEST%\xml%_EXT%\ftransl.component +..\%__SRC%\misc\mcnttype.component %_DEST%\xml%_EXT%\mcnttype.component +..\%__SRC%\misc\sysdtrans.component %_DEST%\xml%_EXT%\sysdtrans.component diff --git a/dtrans/source/cnttype/exports.dxp b/dtrans/source/cnttype/exports.dxp index 028ac4175990..f0e1c69934bc 100644 --- a/dtrans/source/cnttype/exports.dxp +++ b/dtrans/source/cnttype/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/cnttype/mctfentry.cxx b/dtrans/source/cnttype/mctfentry.cxx index 095c9ed186ce..3d2e41201887 100644 --- a/dtrans/source/cnttype/mctfentry.cxx +++ b/dtrans/source/cnttype/mctfentry.cxx @@ -99,35 +99,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -//------------------------------------------------------------------------- -// component_writeInfo - to register a UNO-Service -// to register a UNO-Service use: regcomp -register -r *.rdb -c *.dll -// to view the registry use: regview *.rdb /SERVICES/ServiceName -// (you must use the full services name e.g. com.sun.star.frame.FilePicker -//------------------------------------------------------------------------- - -sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( MIMECONTENTTYPEFACTORY_REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - //---------------------------------------------------------------------- // component_getFactory // returns a factory to create XFilePicker-Services diff --git a/dtrans/source/generic/dtrans.component b/dtrans/source/generic/dtrans.component new file mode 100644 index 000000000000..69034f716907 --- /dev/null +++ b/dtrans/source/generic/dtrans.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.datatransfer.ClipboardManager"> + <service name="com.sun.star.datatransfer.clipboard.ClipboardManager"/> + </implementation> + <implementation name="com.sun.star.comp.datatransfer.clipboard.GenericClipboard"> + <service name="com.sun.star.datatransfer.clipboard.GenericClipboard"/> + </implementation> +</component> diff --git a/dtrans/source/generic/dtrans.cxx b/dtrans/source/generic/dtrans.cxx index 1e69158a6a12..4b39298f97c2 100644 --- a/dtrans/source/generic/dtrans.cxx +++ b/dtrans/source/generic/dtrans.cxx @@ -52,43 +52,6 @@ void SAL_CALL component_getImplementationEnvironment(const sal_Char ** ppEnvType //================================================================================================== -sal_Bool SAL_CALL component_writeInfo(void * /*pServiceManager*/, void * pRegistryKey ) -{ - if (pRegistryKey) - { - try - { - Reference< XRegistryKey > xNewKey( - reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( - OUString::createFromAscii("/" CLIPBOARDMANAGER_IMPLEMENTATION_NAME "/UNO/SERVICES" ) ) ); - - const Sequence< OUString > & rSNL = ClipboardManager_getSupportedServiceNames(); - const OUString * pArray = rSNL.getConstArray(); - sal_Int32 nPos; - for ( nPos = rSNL.getLength(); nPos--; ) - xNewKey->createKey( pArray[nPos] ); - - xNewKey = reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( - OUString::createFromAscii("/" GENERIC_CLIPBOARD_IMPLEMENTATION_NAME "/UNO/SERVICES" ) ); - - const Sequence< OUString > & rSNL2 = GenericClipboard_getSupportedServiceNames(); - pArray = rSNL2.getConstArray(); - for ( nPos = rSNL2.getLength(); nPos--; ) - xNewKey->createKey( pArray[nPos] ); - - return sal_True; - } - catch (InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - - return sal_False; -} - -//================================================================================================== - void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, diff --git a/dtrans/source/generic/exports.dxp b/dtrans/source/generic/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/dtrans/source/generic/exports.dxp +++ b/dtrans/source/generic/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/generic/makefile.mk b/dtrans/source/generic/makefile.mk index e015400c32d9..2518b86a2d92 100644 --- a/dtrans/source/generic/makefile.mk +++ b/dtrans/source/generic/makefile.mk @@ -65,3 +65,11 @@ DEF1EXPORTFILE= exports.dxp .ENDIF # L10N_framework .INCLUDE : target.mk + +ALLTAR : $(MISC)/dtrans.component + +$(MISC)/dtrans.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dtrans.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dtrans.component diff --git a/dtrans/source/os2/clipb/Os2Service.cxx b/dtrans/source/os2/clipb/Os2Service.cxx index cc3e1e9a9b94..0c3e299f0299 100644 --- a/dtrans/source/os2/clipb/Os2Service.cxx +++ b/dtrans/source/os2/clipb/Os2Service.cxx @@ -56,28 +56,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -sal_Bool SAL_CALL component_writeInfo( void* pServiceManager, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( OS2_CLIPBOARD_REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - void* SAL_CALL component_getFactory( const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* pRegistryKey ) { void* pRet = 0; diff --git a/dtrans/source/os2/clipb/exports.dxp b/dtrans/source/os2/clipb/exports.dxp index f72beb0fcb31..926e49f5f1a5 100644 --- a/dtrans/source/os2/clipb/exports.dxp +++ b/dtrans/source/os2/clipb/exports.dxp @@ -1,4 +1,3 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/win32/clipb/exports.dxp b/dtrans/source/win32/clipb/exports.dxp index f72beb0fcb31..926e49f5f1a5 100644 --- a/dtrans/source/win32/clipb/exports.dxp +++ b/dtrans/source/win32/clipb/exports.dxp @@ -1,4 +1,3 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/win32/clipb/wcbentry.cxx b/dtrans/source/win32/clipb/wcbentry.cxx index 986e7b4c4db7..653d97194efc 100644 --- a/dtrans/source/win32/clipb/wcbentry.cxx +++ b/dtrans/source/win32/clipb/wcbentry.cxx @@ -97,35 +97,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -//------------------------------------------------------------------------- -// component_writeInfo - to register a UNO-Service -// to register a UNO-Service use: regcomp -register -r *.rdb -c *.dll -// to view the registry use: regview *.rdb /SERVICES/ServiceName -// (you must use the full services name e.g. com.sun.star.frame.FilePicker -//------------------------------------------------------------------------- - -sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( WINCLIPBOARD_REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - //---------------------------------------------------------------------- // component_getFactory // returns a factory to create XFilePicker-Services diff --git a/dtrans/source/win32/dnd/dndentry.cxx b/dtrans/source/win32/dnd/dndentry.cxx index 2ea9b7746def..d37fa07ba3bd 100644 --- a/dtrans/source/win32/dnd/dndentry.cxx +++ b/dtrans/source/win32/dnd/dndentry.cxx @@ -72,39 +72,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -//------------------------------------------------------------------------- -// component_writeInfo - to register a UNO-Service -// to register a UNO-Service use: regcomp -register -r *.rdb -c *.dll -// to view the registry use: regview *.rdb /SERVICES/ServiceName -// (you must use the full services name e.g. com.sun.star.frame.FilePicker -//------------------------------------------------------------------------- - -sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( DNDSOURCE_REGKEY_NAME ) ) ); - bRetVal = sal_True; - - pXNewKey= static_cast< XRegistryKey* >( pRegistryKey ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( DNDTARGET_REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - //---------------------------------------------------------------------- // component_getFactory // returns a factory to create XFilePicker-Services diff --git a/dtrans/source/win32/dnd/exports.dxp b/dtrans/source/win32/dnd/exports.dxp index 028ac4175990..f0e1c69934bc 100644 --- a/dtrans/source/win32/dnd/exports.dxp +++ b/dtrans/source/win32/dnd/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/win32/ftransl/exports.dxp b/dtrans/source/win32/ftransl/exports.dxp index 028ac4175990..f0e1c69934bc 100644 --- a/dtrans/source/win32/ftransl/exports.dxp +++ b/dtrans/source/win32/ftransl/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/source/win32/ftransl/ftranslentry.cxx b/dtrans/source/win32/ftransl/ftranslentry.cxx index 01d1521b15bc..abdd27ffcdae 100644 --- a/dtrans/source/win32/ftransl/ftranslentry.cxx +++ b/dtrans/source/win32/ftransl/ftranslentry.cxx @@ -102,35 +102,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -//------------------------------------------------------------------------- -// component_writeInfo - to register a UNO-Service -// to register a UNO-Service use: regcomp -register -r *.rdb -c *.dll -// to view the registry use: regview *.rdb /SERVICES/ServiceName -// (you must use the full services name e.g. com.sun.star.frame.FilePicker -//------------------------------------------------------------------------- - -sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - //---------------------------------------------------------------------- // component_getFactory // returns a factory to create XFilePicker-Services diff --git a/dtrans/util/dnd.component b/dtrans/util/dnd.component new file mode 100644 index 000000000000..b56fe326f04f --- /dev/null +++ b/dtrans/util/dnd.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.datatransfer.dnd.OleDragSource_V1"> + <service name="com.sun.star.datatransfer.dnd.OleDragSource"/> + </implementation> + <implementation name="com.sun.star.comp.datatransfer.dnd.OleDropTarget_V1"> + <service name="com.sun.star.datatransfer.dnd.OleDropTarget"/> + </implementation> +</component> diff --git a/dtrans/util/exports.dxp b/dtrans/util/exports.dxp index 028ac4175990..f0e1c69934bc 100644 --- a/dtrans/util/exports.dxp +++ b/dtrans/util/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dtrans/util/ftransl.component b/dtrans/util/ftransl.component new file mode 100644 index 000000000000..dad7d341cce7 --- /dev/null +++ b/dtrans/util/ftransl.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.datatransfer.DataFormatTranslator"> + <service name="com.sun.star.datatransfer.DataFormatTranslator"/> + </implementation> +</component> diff --git a/dtrans/util/makefile.mk b/dtrans/util/makefile.mk index 0443c131ccb6..8df69bbf1d36 100644 --- a/dtrans/util/makefile.mk +++ b/dtrans/util/makefile.mk @@ -180,3 +180,32 @@ DEF3EXPORTFILE= exports.dxp .INCLUDE : target.mk +ALLTAR : \ + $(MISC)/dnd.component \ + $(MISC)/ftransl.component \ + $(MISC)/mcnttype.component \ + $(MISC)/sysdtrans.component + +$(MISC)/dnd.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dnd.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL4TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dnd.component + +$(MISC)/ftransl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + ftransl.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt ftransl.component + +$(MISC)/mcnttype.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + mcnttype.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt mcnttype.component + +$(MISC)/sysdtrans.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + sysdtrans.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL3TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt sysdtrans.component diff --git a/dtrans/util/mcnttype.component b/dtrans/util/mcnttype.component new file mode 100644 index 000000000000..f5a937a7a77a --- /dev/null +++ b/dtrans/util/mcnttype.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.datatransfer.MimeCntTypeFactory"> + <service name="com.sun.star.datatransfer.MimeContentTypeFactory"/> + </implementation> +</component> diff --git a/dtrans/util/sysdtrans.component b/dtrans/util/sysdtrans.component new file mode 100644 index 000000000000..ec1807000b3f --- /dev/null +++ b/dtrans/util/sysdtrans.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.datatransfer.clipboard.ClipboardW32"> + <service name="com.sun.star.datatransfer.clipboard.SystemClipboard"/> + </implementation> +</component> diff --git a/i18npool/prj/d.lst b/i18npool/prj/d.lst index 54aefa732b89..8d27137424a9 100644 --- a/i18npool/prj/d.lst +++ b/i18npool/prj/d.lst @@ -46,3 +46,5 @@ mkdir: %_DEST%\inc%_EXT%\i18npool ..\%__SRC%\lib\libi18npaper*.so %_DEST%\lib%_EXT%\libi18npaper*.so ..\%__SRC%\lib\libi18npaper*.dylib %_DEST%\lib%_EXT%\libi18npaper*.dylib +..\%__SRC%\misc\i18npool.component %_DEST%\xml%_EXT%\i18npool.component +..\%__SRC%\misc\i18nsearch.component %_DEST%\xml%_EXT%\i18nsearch.component diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx index e4e08d42df43..d22203d100c7 100644 --- a/i18npool/source/breakiterator/breakiteratorImpl.cxx +++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx @@ -488,6 +488,10 @@ sal_Int16 BreakIteratorImpl::getScriptClass(sal_uInt32 currentChar) // workaround for Coptic else if ( 0x2C80 <= currentChar && 0x2CE3 >= currentChar) nRet = ScriptType::LATIN; + // work-around for ligatures (see http://www.unicode.org/charts/PDF/UFB00.pdf) + else if ((0xFB00 <= currentChar && currentChar <= 0xFB06) || + (0xFB13 <= currentChar && currentChar <= 0xFB17)) + nRet = ScriptType::LATIN; else { UBlockCode block=ublock_getCode(currentChar); sal_uInt16 i; diff --git a/i18npool/source/localedata/data/makefile.mk b/i18npool/source/localedata/data/makefile.mk index 1ac16a31fe37..1034de7f11bf 100644..100755 --- a/i18npool/source/localedata/data/makefile.mk +++ b/i18npool/source/localedata/data/makefile.mk @@ -39,6 +39,14 @@ LIBTARGET=NO debug!= .ENDIF +.IF "$(OS)" == "WNT" +my_file = file:/// +.ELSE +my_file = file:// +.END + +my_components = sax.inbuild + # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk @@ -62,190 +70,6 @@ LINK_LOCALEDATA_ES_LIB=-l$(SHL2TARGET) # --- Files -------------------------------------------------------- -# Interim files generated by the saxparser executable, for dependencies -MY_MISC_CXXFILES = \ - $(MISC)$/localedata_af_NA.cxx \ - $(MISC)$/localedata_af_ZA.cxx \ - $(MISC)$/localedata_ak_GH.cxx \ - $(MISC)$/localedata_am_ET.cxx \ - $(MISC)$/localedata_ar_DZ.cxx \ - $(MISC)$/localedata_ar_EG.cxx \ - $(MISC)$/localedata_ar_LB.cxx \ - $(MISC)$/localedata_ar_SA.cxx \ - $(MISC)$/localedata_ar_TN.cxx \ - $(MISC)$/localedata_ast_ES.cxx \ - $(MISC)$/localedata_az_AZ.cxx \ - $(MISC)$/localedata_be_BY.cxx \ - $(MISC)$/localedata_bg_BG.cxx \ - $(MISC)$/localedata_bn_IN.cxx \ - $(MISC)$/localedata_bn_BD.cxx \ - $(MISC)$/localedata_br_FR.cxx \ - $(MISC)$/localedata_bs_BA.cxx \ - $(MISC)$/localedata_ca_ES.cxx \ - $(MISC)$/localedata_cs_CZ.cxx \ - $(MISC)$/localedata_cv_RU.cxx \ - $(MISC)$/localedata_cy_GB.cxx \ - $(MISC)$/localedata_da_DK.cxx \ - $(MISC)$/localedata_de_AT.cxx \ - $(MISC)$/localedata_de_CH.cxx \ - $(MISC)$/localedata_de_DE.cxx \ - $(MISC)$/localedata_de_LI.cxx \ - $(MISC)$/localedata_de_LU.cxx \ - $(MISC)$/localedata_dz_BT.cxx \ - $(MISC)$/localedata_ee_GH.cxx \ - $(MISC)$/localedata_el_GR.cxx \ - $(MISC)$/localedata_en_AU.cxx \ - $(MISC)$/localedata_en_BZ.cxx \ - $(MISC)$/localedata_en_CA.cxx \ - $(MISC)$/localedata_en_GB.cxx \ - $(MISC)$/localedata_en_GH.cxx \ - $(MISC)$/localedata_en_IE.cxx \ - $(MISC)$/localedata_en_IN.cxx \ - $(MISC)$/localedata_en_JM.cxx \ - $(MISC)$/localedata_en_NA.cxx \ - $(MISC)$/localedata_en_NZ.cxx \ - $(MISC)$/localedata_en_PH.cxx \ - $(MISC)$/localedata_en_TT.cxx \ - $(MISC)$/localedata_en_US.cxx \ - $(MISC)$/localedata_en_ZA.cxx \ - $(MISC)$/localedata_en_ZW.cxx \ - $(MISC)$/localedata_eo.cxx \ - $(MISC)$/localedata_es_AR.cxx \ - $(MISC)$/localedata_es_BO.cxx \ - $(MISC)$/localedata_es_CL.cxx \ - $(MISC)$/localedata_es_CO.cxx \ - $(MISC)$/localedata_es_CR.cxx \ - $(MISC)$/localedata_es_DO.cxx \ - $(MISC)$/localedata_es_EC.cxx \ - $(MISC)$/localedata_es_ES.cxx \ - $(MISC)$/localedata_es_GT.cxx \ - $(MISC)$/localedata_es_HN.cxx \ - $(MISC)$/localedata_es_MX.cxx \ - $(MISC)$/localedata_es_NI.cxx \ - $(MISC)$/localedata_es_PA.cxx \ - $(MISC)$/localedata_es_PE.cxx \ - $(MISC)$/localedata_es_PR.cxx \ - $(MISC)$/localedata_es_PY.cxx \ - $(MISC)$/localedata_es_SV.cxx \ - $(MISC)$/localedata_es_UY.cxx \ - $(MISC)$/localedata_es_VE.cxx \ - $(MISC)$/localedata_et_EE.cxx \ - $(MISC)$/localedata_eu.cxx \ - $(MISC)$/localedata_fa_IR.cxx \ - $(MISC)$/localedata_fi_FI.cxx \ - $(MISC)$/localedata_fo_FO.cxx \ - $(MISC)$/localedata_fr_BE.cxx \ - $(MISC)$/localedata_fr_CA.cxx \ - $(MISC)$/localedata_fr_CH.cxx \ - $(MISC)$/localedata_fr_FR.cxx \ - $(MISC)$/localedata_fr_LU.cxx \ - $(MISC)$/localedata_fr_MC.cxx \ - $(MISC)$/localedata_fur_IT.cxx \ - $(MISC)$/localedata_fy_NL.cxx \ - $(MISC)$/localedata_ga_IE.cxx \ - $(MISC)$/localedata_gl_ES.cxx \ - $(MISC)$/localedata_gsc_FR.cxx \ - $(MISC)$/localedata_gu_IN.cxx \ - $(MISC)$/localedata_gug_PY.cxx \ - $(MISC)$/localedata_ha_GH.cxx \ - $(MISC)$/localedata_he_IL.cxx \ - $(MISC)$/localedata_hi_IN.cxx \ - $(MISC)$/localedata_hil_PH.cxx \ - $(MISC)$/localedata_hr_HR.cxx \ - $(MISC)$/localedata_hsb_DE.cxx \ - $(MISC)$/localedata_hu_HU.cxx \ - $(MISC)$/localedata_hy_AM.cxx \ - $(MISC)$/localedata_ia.cxx \ - $(MISC)$/localedata_id_ID.cxx \ - $(MISC)$/localedata_is_IS.cxx \ - $(MISC)$/localedata_it_CH.cxx \ - $(MISC)$/localedata_it_IT.cxx \ - $(MISC)$/localedata_ja_JP.cxx \ - $(MISC)$/localedata_ka_GE.cxx \ - $(MISC)$/localedata_kk_KZ.cxx \ - $(MISC)$/localedata_kl_GL.cxx \ - $(MISC)$/localedata_km_KH.cxx \ - $(MISC)$/localedata_kn_IN.cxx \ - $(MISC)$/localedata_ko_KR.cxx \ - $(MISC)$/localedata_ku_TR.cxx \ - $(MISC)$/localedata_ky_KG.cxx \ - $(MISC)$/localedata_la_VA.cxx \ - $(MISC)$/localedata_lb_LU.cxx \ - $(MISC)$/localedata_lg_UG.cxx \ - $(MISC)$/localedata_ln_CD.cxx \ - $(MISC)$/localedata_lo_LA.cxx \ - $(MISC)$/localedata_lt_LT.cxx \ - $(MISC)$/localedata_ltg_LV.cxx \ - $(MISC)$/localedata_lv_LV.cxx \ - $(MISC)$/localedata_mai_IN.cxx \ - $(MISC)$/localedata_mk_MK.cxx \ - $(MISC)$/localedata_ml_IN.cxx \ - $(MISC)$/localedata_mn_MN.cxx \ - $(MISC)$/localedata_mr_IN.cxx \ - $(MISC)$/localedata_ms_MY.cxx \ - $(MISC)$/localedata_mt_MT.cxx \ - $(MISC)$/localedata_my_MM.cxx \ - $(MISC)$/localedata_nb_NO.cxx \ - $(MISC)$/localedata_ne_NP.cxx \ - $(MISC)$/localedata_nl_BE.cxx \ - $(MISC)$/localedata_nl_NL.cxx \ - $(MISC)$/localedata_nn_NO.cxx \ - $(MISC)$/localedata_no_NO.cxx \ - $(MISC)$/localedata_nr_ZA.cxx \ - $(MISC)$/localedata_nso_ZA.cxx \ - $(MISC)$/localedata_oc_FR.cxx \ - $(MISC)$/localedata_om_ET.cxx \ - $(MISC)$/localedata_or_IN.cxx \ - $(MISC)$/localedata_pa_IN.cxx \ - $(MISC)$/localedata_pl_PL.cxx \ - $(MISC)$/localedata_plt_MG.cxx \ - $(MISC)$/localedata_pt_BR.cxx \ - $(MISC)$/localedata_pt_PT.cxx \ - $(MISC)$/localedata_ro_RO.cxx \ - $(MISC)$/localedata_rue_SK.cxx \ - $(MISC)$/localedata_ru_RU.cxx \ - $(MISC)$/localedata_rw_RW.cxx \ - $(MISC)$/localedata_sg_CF.cxx \ - $(MISC)$/localedata_sh_ME.cxx \ - $(MISC)$/localedata_sh_RS.cxx \ - $(MISC)$/localedata_sh_YU.cxx \ - $(MISC)$/localedata_shs_CA.cxx \ - $(MISC)$/localedata_sk_SK.cxx \ - $(MISC)$/localedata_sl_SI.cxx \ - $(MISC)$/localedata_so_SO.cxx \ - $(MISC)$/localedata_sr_ME.cxx \ - $(MISC)$/localedata_sr_RS.cxx \ - $(MISC)$/localedata_sr_YU.cxx \ - $(MISC)$/localedata_ss_ZA.cxx \ - $(MISC)$/localedata_st_ZA.cxx \ - $(MISC)$/localedata_sv_FI.cxx \ - $(MISC)$/localedata_sv_SE.cxx \ - $(MISC)$/localedata_sw_TZ.cxx \ - $(MISC)$/localedata_ta_IN.cxx \ - $(MISC)$/localedata_te_IN.cxx \ - $(MISC)$/localedata_tg_TJ.cxx \ - $(MISC)$/localedata_th_TH.cxx \ - $(MISC)$/localedata_ti_ER.cxx \ - $(MISC)$/localedata_tk_TM.cxx \ - $(MISC)$/localedata_tn_ZA.cxx \ - $(MISC)$/localedata_tpi_PG.cxx \ - $(MISC)$/localedata_tr_TR.cxx \ - $(MISC)$/localedata_ts_ZA.cxx \ - $(MISC)$/localedata_ug_CN.cxx \ - $(MISC)$/localedata_uk_UA.cxx \ - $(MISC)$/localedata_uz_UZ.cxx \ - $(MISC)$/localedata_ve_ZA.cxx \ - $(MISC)$/localedata_vi_VN.cxx \ - $(MISC)$/localedata_wa_BE.cxx \ - $(MISC)$/localedata_xh_ZA.cxx \ - $(MISC)$/localedata_zh_CN.cxx \ - $(MISC)$/localedata_zh_HK.cxx \ - $(MISC)$/localedata_zh_MO.cxx \ - $(MISC)$/localedata_zh_SG.cxx \ - $(MISC)$/localedata_zh_TW.cxx \ - $(MISC)$/localedata_zu_ZA.cxx - - # English Locales SHL1TARGET=localedata_en .IF "$(GUI)" == "OS2" @@ -504,13 +328,28 @@ DEPOBJFILES= \ $(SHL3OBJS) \ $(SHL4OBJS) +# Interim files generated by the saxparser executable, for dependencies +MY_MISC_CXXFILES := $(foreach,i,$(DEPOBJFILES) $(MISC)/$(i:b).cxx) + # --- Targets ------------------------------------------------------ .INCLUDE : target.mk -$(MY_MISC_CXXFILES) : $(BIN)$/saxparser$(EXECPOST) +$(MY_MISC_CXXFILES) : $(BIN)$/saxparser$(EXECPOST) $(MISC)/saxparser.rdb $(MISC)$/localedata_%.cxx : %.xml - $(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(BIN)$/saxparser $* $< $@ $(BIN)$/$(@:b).rdb $(SOLARBINDIR)$/types.rdb + $(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(BIN)$/saxparser $* $< $@ \ + $(my_file)$(PWD)/$(MISC)/saxparser.rdb $(SOLARBINDIR)$/types.rdb \ + -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(SOLARSHAREDBIN) $(RM) $(BIN)$/$(@:b).rdb +$(MISC)/saxparser.rdb .ERRREMOVE : $(SOLARENV)/bin/packcomponents.xslt \ + $(MISC)/saxparser.input \ + $(my_components:^"$(SOLARXMLDIR)/":+".component") + $(XSLTPROC) --nonet --stringparam prefix $(SOLARXMLDIR)/ -o $@ \ + $(SOLARENV)/bin/packcomponents.xslt $(MISC)/saxparser.input + +$(MISC)/saxparser.input : + echo \ + '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \ + > $@ diff --git a/i18npool/source/localedata/saxparser.cxx b/i18npool/source/localedata/saxparser.cxx index 9787b9c810a6..5118a827b260 100644 --- a/i18npool/source/localedata/saxparser.cxx +++ b/i18npool/source/localedata/saxparser.cxx @@ -34,7 +34,6 @@ #include "sal/main.h" -#include <com/sun/star/registry/XImplementationRegistration.hpp> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/xml/sax/SAXParseException.hpp> @@ -339,7 +338,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) { xSMgr = createRegistryServiceFactory( ::rtl::OUString::createFromAscii(argv[4]), - ::rtl::OUString::createFromAscii(argv[5]) ); + ::rtl::OUString::createFromAscii(argv[5]), true ); } catch ( Exception& ) { @@ -347,38 +346,6 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) exit(1); } - Reference < XImplementationRegistration > xReg; - try - { - // Create registration service - Reference < XInterface > x = xSMgr->createInstance( - OUString::createFromAscii( "com.sun.star.registry.ImplementationRegistration" ) ); - xReg = Reference< XImplementationRegistration > ( x , UNO_QUERY ); - } - catch( Exception & ) { - printf( "Couldn't create ImplementationRegistration service\n" ); - exit(1); - } - - OString sTestName; - try - { - // Load dll for the tested component - OUString aDllName = - OUString::createFromAscii( "sax.uno" SAL_DLLEXTENSION ); - xReg->registerImplementation( - OUString::createFromAscii( "com.sun.star.loader.SharedLibrary" ), - aDllName, - Reference< XSimpleRegistry > () ); - } - catch( Exception &e ) { - printf( "Couldn't raise sax.uno library!\n" ); - printf( "%s\n" , OUStringToOString( e.Message , RTL_TEXTENCODING_ASCII_US ).getStr() ); - - exit(1); - } - - //-------------------------------- // parser demo // read xml from a file and count elements diff --git a/i18npool/source/registerservices/registerservices.cxx b/i18npool/source/registerservices/registerservices.cxx index 280e12dfe4f7..0671e5669956 100644 --- a/i18npool/source/registerservices/registerservices.cxx +++ b/i18npool/source/registerservices/registerservices.cxx @@ -580,29 +580,6 @@ void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvType *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -sal_Bool SAL_CALL component_writeInfo( void* /*_pServiceManager*/, void* _pRegistryKey ) -{ - if (_pRegistryKey) - { - ::com::sun::star::registry::XRegistryKey * pRegistryKey = - reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( - _pRegistryKey ); - ::com::sun::star::uno::Reference< - ::com::sun::star::registry::XRegistryKey > xNewKey; - - for( const InstancesArray* pArr = aInstances; pArr->pServiceNm; ++pArr ) - { - xNewKey = pRegistryKey->createKey( - ::rtl::OUString::createFromAscii( pArr->pImplementationNm ) ); - xNewKey = xNewKey->createKey( - ::rtl::OUString::createFromAscii( "/UNO/SERVICES" ) ); - xNewKey->createKey( - ::rtl::OUString::createFromAscii( pArr->pServiceNm ) ); - } - } - return sal_True; -} - void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* /*_pRegistryKey*/ ) { void* pRet = NULL; diff --git a/i18npool/source/search/i18nsearch.component b/i18npool/source/search/i18nsearch.component new file mode 100644 index 000000000000..6288bcd7c840 --- /dev/null +++ b/i18npool/source/search/i18nsearch.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.util.TextSearch_i18n"> + <service name="com.sun.star.util.TextSearch"/> + </implementation> +</component> diff --git a/i18npool/source/search/makefile.mk b/i18npool/source/search/makefile.mk index aed976edd896..372b32a216d1 100644 --- a/i18npool/source/search/makefile.mk +++ b/i18npool/source/search/makefile.mk @@ -76,3 +76,11 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk + +ALLTAR : $(MISC)/i18nsearch.component + +$(MISC)/i18nsearch.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + i18nsearch.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt i18nsearch.component diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx index dea4eca2a618..e71e0fc0cd71 100644 --- a/i18npool/source/search/textsearch.cxx +++ b/i18npool/source/search/textsearch.cxx @@ -987,25 +987,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -sal_Bool SAL_CALL component_writeInfo( - void* /*_pServiceManager*/, void* _pRegistryKey ) -{ - if (_pRegistryKey) - { - ::com::sun::star::registry::XRegistryKey * pRegistryKey = - reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( - _pRegistryKey ); - ::com::sun::star::uno::Reference< - ::com::sun::star::registry::XRegistryKey > xNewKey; - - xNewKey = pRegistryKey->createKey( getImplementationName_Static() ); - xNewKey = xNewKey->createKey( - ::rtl::OUString::createFromAscii( "/UNO/SERVICES" ) ); - xNewKey->createKey( getServiceName_Static() ); - } - return sal_True; -} - void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* /*_pRegistryKey*/ ) { diff --git a/i18npool/util/i18npool.component b/i18npool/util/i18npool.component new file mode 100644 index 000000000000..d11606efb6d4 --- /dev/null +++ b/i18npool/util/i18npool.component @@ -0,0 +1,484 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.i18n.BreakIterator"> + <service name="com.sun.star.i18n.BreakIterator"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_Unicode"> + <service name="com.sun.star.i18n.BreakIterator_Unicode"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_ja"> + <service name="com.sun.star.i18n.BreakIterator_ja"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_ko"> + <service name="com.sun.star.i18n.BreakIterator_ko"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_th"> + <service name="com.sun.star.i18n.BreakIterator_th"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_zh"> + <service name="com.sun.star.i18n.BreakIterator_zh"/> + </implementation> + <implementation name="com.sun.star.i18n.BreakIterator_zh_TW"> + <service name="com.sun.star.i18n.BreakIterator_zh_TW"/> + </implementation> + <implementation name="com.sun.star.i18n.CalendarImpl"> + <service name="com.sun.star.i18n.LocaleCalendar"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_ROC"> + <service name="com.sun.star.i18n.Calendar_ROC"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_buddhist"> + <service name="com.sun.star.i18n.Calendar_buddhist"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_gengou"> + <service name="com.sun.star.i18n.Calendar_gengou"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_gregorian"> + <service name="com.sun.star.i18n.Calendar_gregorian"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_hanja"> + <service name="com.sun.star.i18n.Calendar_hanja"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_hanja_yoil"> + <service name="com.sun.star.i18n.Calendar_hanja_yoil"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_hijri"> + <service name="com.sun.star.i18n.Calendar_hijri"/> + </implementation> + <implementation name="com.sun.star.i18n.Calendar_jewish"> + <service name="com.sun.star.i18n.Calendar_jewish"/> + </implementation> + <implementation name="com.sun.star.i18n.ChapterCollator"> + <service name="com.sun.star.i18n.ChapterCollator"/> + </implementation> + <implementation name="com.sun.star.i18n.CharacterClassification"> + <service name="com.sun.star.i18n.CharacterClassification"/> + </implementation> + <implementation name="com.sun.star.i18n.CharacterClassification_Unicode"> + <service name="com.sun.star.i18n.CharacterClassification_Unicode"/> + </implementation> + <implementation name="com.sun.star.i18n.Collator"> + <service name="com.sun.star.i18n.Collator"/> + </implementation> + <implementation name="com.sun.star.i18n.Collator_Unicode"> + <service name="com.sun.star.i18n.Collator_Unicode"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier"> + <service name="com.sun.star.i18n.IndexEntrySupplier"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_Unicode"> + <service name="com.sun.star.i18n.IndexEntrySupplier_Unicode"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_asian"> + <service name="com.sun.star.i18n.IndexEntrySupplier_asian"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)"/> + </implementation> + <implementation name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)"> + <service name="com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)"/> + </implementation> + <implementation name="com.sun.star.i18n.InputSequenceChecker"> + <service name="com.sun.star.i18n.InputSequenceChecker"/> + </implementation> + <implementation name="com.sun.star.i18n.InputSequenceChecker_hi"> + <service name="com.sun.star.i18n.InputSequenceChecker_hi"/> + </implementation> + <implementation name="com.sun.star.i18n.InputSequenceChecker_th"> + <service name="com.sun.star.i18n.InputSequenceChecker_th"/> + </implementation> + <implementation name="com.sun.star.i18n.LocaleData"> + <service name="com.sun.star.i18n.LocaleData"/> + </implementation> + <implementation name="com.sun.star.i18n.NativeNumberSupplier"> + <service name="com.sun.star.i18n.NativeNumberSupplier"/> + </implementation> + <implementation name="com.sun.star.i18n.NumberFormatCodeMapper"> + <service name="com.sun.star.i18n.NumberFormatMapper"/> + </implementation> + <implementation name="com.sun.star.i18n.OrdinalSuffix"> + <service name="com.sun.star.i18n.OrdinalSuffix"/> + </implementation> + <implementation name="com.sun.star.i18n.ScriptTypeDetector"> + <service name="com.sun.star.i18n.ScriptTypeDetector"/> + </implementation> + <implementation name="com.sun.star.i18n.TextConversion"> + <service name="com.sun.star.i18n.TextConversion"/> + </implementation> + <implementation name="com.sun.star.i18n.TextConversion_ko"> + <service name="com.sun.star.i18n.TextConversion_ko"/> + </implementation> + <implementation name="com.sun.star.i18n.TextConversion_zh"> + <service name="com.sun.star.i18n.TextConversion_zh"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration"> + <service name="com.sun.star.i18n.Transliteration"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumEastIndic_ar"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumFullwidth"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumIndic_ar"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumIndic_hi"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumKanjiShort_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumKanjiTraditional_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumLower_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumLower_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumUpper_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumUpper_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.CharToNum_th"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.FULLWIDTHKATAKANA_HALFWIDTHKATAKANA"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.FULLWIDTH_HALFWIDTH"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.FULLWIDTH_HALFWIDTH_LIKE_ASC"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.HALFWIDTHKATAKANA_FULLWIDTHKATAKANA"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.HALFWIDTH_FULLWIDTH"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.HALFWIDTH_FULLWIDTH_LIKE_JIS"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.HIRAGANA_KATAKANA"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.IGNORE_CASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.IGNORE_KANA"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.IGNORE_WIDTH"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.KATAKANA_HIRAGANA"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.LOWERCASE_UPPERCASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharEastIndic_ar"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharFullwidth"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharHalfwidth"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharIndic_ar"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharIndic_hi"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharKanjiShort_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharKanjiTraditional_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharLower_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharLower_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharUpper_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToCharUpper_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToChar_th"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextAIUFullWidth_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextAIUHalfWidth_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextCircledNumber"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextDate_zh"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextDiZi_zh"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFormalHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFormalLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFormalUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFullwidth_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFullwidth_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFullwidth_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFullwidth_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulCircledJamo_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulCircledSyllable_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulJamo_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulSyllable_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextIROHAFullWidth_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextIROHAHalfWidth_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextInformalHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextInformalLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextInformalUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextKanjiLongModern_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextKanjiLongTraditional_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextKanjiShortModern_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextKanjiShortTraditional_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextLower_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextLower_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextTianGan_zh"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextUpper_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextUpper_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.SENTENCE_CASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TITLE_CASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TOGGLE_CASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToChuyin_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumFormalHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumFormalLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumFormalUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumInformalHangul_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumInformalLower_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumInformalUpper_ko"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumKanjiLongModern_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumKanjiLongTraditional_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumLower_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumLower_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumUpper_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToNumUpper_zh_TW"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.TextToPinyin_zh_CN"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.UPPERCASE_LOWERCASE"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreBaFa_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreHyuByu_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreIandEfollowedByYa_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreIterationMark_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreKana"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreKiKuFollowedBySa_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreMiddleDot_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreMinusSign_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreProlongedSoundMark_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreSeZe_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreSeparator_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreSize_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreSpace_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreTiJi_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreTraditionalKana_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreTraditionalKanji_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.ignoreZiZu_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.largeToSmall_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.i18n.Transliteration.smallToLarge_ja_JP"> + <service name="com.sun.star.i18n.Transliteration.l10n"/> + </implementation> + <implementation name="com.sun.star.text.DefaultNumberingProvider"> + <service name="com.sun.star.text.DefaultNumberingProvider"/> + </implementation> +</component> diff --git a/i18npool/util/makefile.mk b/i18npool/util/makefile.mk index 57f802be62fe..8c9f1a83b2c0 100644 --- a/i18npool/util/makefile.mk +++ b/i18npool/util/makefile.mk @@ -79,3 +79,11 @@ SHL1STDLIBS= \ # --- Targets ------------------------------------------------------------ .INCLUDE : target.mk + +ALLTAR : $(MISC)/i18npool.component + +$(MISC)/i18npool.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + i18npool.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt i18npool.component diff --git a/sax/prj/d.lst b/sax/prj/d.lst index 87f01348163c..76177f554909 100644 --- a/sax/prj/d.lst +++ b/sax/prj/d.lst @@ -2,6 +2,9 @@ ..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*.so ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib ..\%__SRC%\lib\*.lib %_DEST%\lib%_EXT%\*.lib +..\%__SRC%\misc\fastsax.component %_DEST%\xml%_EXT%\fastsax.component +..\%__SRC%\misc\sax.component %_DEST%\xml%_EXT%\sax.component +..\%__SRC%\misc\sax.inbuild.component %_DEST%\xml%_EXT%\sax.inbuild.component mkdir: %_DEST%\inc%_EXT%\sax mkdir: %_DEST%\inc%_EXT%\sax\tools diff --git a/sax/source/expatwrap/makefile.mk b/sax/source/expatwrap/makefile.mk index bcb73b0443ac..6e1348c0d403 100644 --- a/sax/source/expatwrap/makefile.mk +++ b/sax/source/expatwrap/makefile.mk @@ -72,5 +72,16 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk +ALLTAR : $(MISC)/sax.component $(MISC)/sax.inbuild.component +$(MISC)/sax.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + sax.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt sax.component +$(MISC)/sax.inbuild.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt sax.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_INBUILD_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt sax.component diff --git a/sax/source/expatwrap/sax.component b/sax/source/expatwrap/sax.component new file mode 100644 index 000000000000..5e6699d9dd33 --- /dev/null +++ b/sax/source/expatwrap/sax.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.extensions.xml.sax.ParserExpat"> + <service name="com.sun.star.xml.sax.Parser"/> + </implementation> + <implementation name="com.sun.star.extensions.xml.sax.Writer"> + <service name="com.sun.star.xml.sax.Writer"/> + </implementation> +</component> diff --git a/sax/source/expatwrap/sax_expat.cxx b/sax/source/expatwrap/sax_expat.cxx index 4ffebfa3590d..aaaac6bd564e 100644 --- a/sax/source/expatwrap/sax_expat.cxx +++ b/sax/source/expatwrap/sax_expat.cxx @@ -1034,37 +1034,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } - -sal_Bool SAL_CALL component_writeInfo( - void * /*pServiceManager*/, void * pRegistryKey ) -{ - if (pRegistryKey) - { - try - { - Reference< XRegistryKey > xKey( - reinterpret_cast< XRegistryKey * >( pRegistryKey ) ); - - Reference< XRegistryKey > xNewKey = xKey->createKey( - OUString::createFromAscii( "/" IMPLEMENTATION_NAME "/UNO/SERVICES" ) ); - xNewKey->createKey( OUString::createFromAscii( SERVICE_NAME ) ); - - xNewKey = xKey->createKey( OUString::createFromAscii("/") + - SaxWriter_getImplementationName()+ - OUString::createFromAscii( "/UNO/SERVICES" ) ); - xNewKey->createKey( SaxWriter_getServiceName() ); - - return sal_True; - } - catch (InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; -} - - void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) { diff --git a/sax/source/fastparser/facreg.cxx b/sax/source/fastparser/facreg.cxx index 1916a9740f1a..98a55823271e 100644 --- a/sax/source/fastparser/facreg.cxx +++ b/sax/source/fastparser/facreg.cxx @@ -40,34 +40,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } - -sal_Bool SAL_CALL component_writeInfo( - void * /*pServiceManager*/, void * pRegistryKey ) -{ - if (pRegistryKey) - { - try - { - Reference< XRegistryKey > xKey( reinterpret_cast< XRegistryKey * >( pRegistryKey ) ); - - Reference< XRegistryKey > xNewKey( xKey->createKey( - OUString::createFromAscii( "/" PARSER_IMPLEMENTATION_NAME "/UNO/SERVICES" ) ) ); - xNewKey->createKey( OUString::createFromAscii( PARSER_SERVICE_NAME ) ); - - Reference< XRegistryKey > xNewKey1( xKey->createKey( - OUString::createFromAscii( "/" SERIALIZER_IMPLEMENTATION_NAME "/UNO/SERVICES" ) ) ); - xNewKey1->createKey( OUString::createFromAscii( SERIALIZER_SERVICE_NAME ) ); - - return sal_True; - } - catch (InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; -} - void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) { void * pRet = 0; diff --git a/sax/source/fastparser/fastsax.component b/sax/source/fastparser/fastsax.component new file mode 100644 index 000000000000..a184a76d2d83 --- /dev/null +++ b/sax/source/fastparser/fastsax.component @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + 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> + <implementation name="com.sun.star.comp.extensions.xml.sax.FastSerializer"> + <service name="com.sun.star.xml.sax.FastSerializer"/> + </implementation> +</component> diff --git a/sax/source/fastparser/makefile.mk b/sax/source/fastparser/makefile.mk index 7f70b7aee7bf..d8f9378c19b9 100644 --- a/sax/source/fastparser/makefile.mk +++ b/sax/source/fastparser/makefile.mk @@ -70,5 +70,10 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk +ALLTAR : $(MISC)/fastsax.component - +$(MISC)/fastsax.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + fastsax.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt fastsax.component diff --git a/sot/prj/d.lst b/sot/prj/d.lst index 528b6863ef3c..10bed8c9fe5e 100644 --- a/sot/prj/d.lst +++ b/sot/prj/d.lst @@ -25,3 +25,4 @@ mkdir: %_DEST%\inc%_EXT%\sot ..\%__SRC%\bin\sot?????.dll %_DEST%\bin%_EXT%\sot?????.dll ..\%__SRC%\bin\sot?????.sym %_DEST%\bin%_EXT%\sot?????.sym ..\%__SRC%\misc\sot?????.map %_DEST%\bin%_EXT%\sot?????.map +..\%__SRC%\misc\sot.component %_DEST%\xml%_EXT%\sot.component diff --git a/sot/source/unoolestorage/register.cxx b/sot/source/unoolestorage/register.cxx index 00326333546d..083a4d585ca1 100644 --- a/sot/source/unoolestorage/register.cxx +++ b/sot/source/unoolestorage/register.cxx @@ -69,33 +69,5 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char * pImp return pRet; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, void * pRegistryKey ) -{ - if (pRegistryKey) - { - try - { - uno::Reference< registry::XRegistryKey > xKey( reinterpret_cast< registry::XRegistryKey* >( pRegistryKey ) ); - - uno::Reference< registry::XRegistryKey > xNewKey; - - xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - OLESimpleStorage::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - const uno::Sequence< ::rtl::OUString > &rServices = OLESimpleStorage::impl_staticGetSupportedServiceNames(); - for( sal_Int32 ind = 0; ind < rServices.getLength(); ind++ ) - xNewKey->createKey( rServices.getConstArray()[ind] ); - - return sal_True; - } - catch (registry::InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; -} - } // extern "C" diff --git a/sot/util/makefile.mk b/sot/util/makefile.mk index 60b34c356217..72d17db189be 100644 --- a/sot/util/makefile.mk +++ b/sot/util/makefile.mk @@ -79,3 +79,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk @echo Making: $@ $(TYPE) sot.flt > $@ + +ALLTAR : $(MISC)/sot.component + +$(MISC)/sot.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + sot.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt sot.component diff --git a/sot/util/sot.component b/sot/util/sot.component new file mode 100644 index 000000000000..7d17c7d54475 --- /dev/null +++ b/sot/util/sot.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.embed.OLESimpleStorage"> + <service name="com.sun.star.embed.OLESimpleStorage"/> + </implementation> +</component> diff --git a/svl/inc/lngmisc.hxx b/svl/inc/lngmisc.hxx index d85de673c4c9..5143d147227d 100644..100755 --- a/svl/inc/lngmisc.hxx +++ b/svl/inc/lngmisc.hxx @@ -32,6 +32,7 @@ #include <tools/solar.h> #include <sal/types.h> #include <rtl/ustring.hxx> +#include <tools/string.hxx> /////////////////////////////////////////////////////////////////////////// @@ -68,6 +69,8 @@ SVL_DLLPUBLIC BOOL RemoveControlChars( rtl::OUString &rTxt ); SVL_DLLPUBLIC BOOL ReplaceControlChars( rtl::OUString &rTxt, sal_Char aRplcChar = ' ' ); +SVL_DLLPUBLIC String GetThesaurusReplaceText( const String &rText ); + } // namespace linguistic #endif diff --git a/svl/prj/d.lst b/svl/prj/d.lst index a5c2564e81cd..d79346c16087 100644 --- a/svl/prj/d.lst +++ b/svl/prj/d.lst @@ -20,3 +20,6 @@ dos: sh -c "if test %OS% = MACOSX; then macosx-create-bundle %_DEST%\bin%_EXT%\b *.xml %_DEST%\xml%_EXT%\*.xml +..\%__SRC%\misc\fsstorage.component %_DEST%\xml%_EXT%\fsstorage.component +..\%__SRC%\misc\passwordcontainer.component %_DEST%\xml%_EXT%\passwordcontainer.component +..\%__SRC%\misc\svl.component %_DEST%\xml%_EXT%\svl.component diff --git a/svl/source/fsstor/fsfactory.cxx b/svl/source/fsstor/fsfactory.cxx index 298b6f555e2a..62fc88f6053a 100644 --- a/svl/source/fsstor/fsfactory.cxx +++ b/svl/source/fsstor/fsfactory.cxx @@ -240,30 +240,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo ( - void * /* pServiceManager */, void * pRegistryKey) -{ - if (pRegistryKey) - { - uno::Reference< registry::XRegistryKey > xRegistryKey ( - reinterpret_cast< registry::XRegistryKey*>(pRegistryKey)); - - uno::Reference< registry::XRegistryKey > xNewKey; - xNewKey = xRegistryKey->createKey( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - FSStorageFactory::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES"))); - - const uno::Sequence< ::rtl::OUString > aServices ( - FSStorageFactory::impl_staticGetSupportedServiceNames()); - for( sal_Int32 i = 0; i < aServices.getLength(); i++ ) - xNewKey->createKey( aServices.getConstArray()[i] ); - - return sal_True; - } - return sal_False; -} - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */) { diff --git a/svl/source/fsstor/fsstorage.component b/svl/source/fsstor/fsstorage.component new file mode 100644 index 000000000000..3ef0be825972 --- /dev/null +++ b/svl/source/fsstor/fsstorage.component @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.embed.FileSystemStorageFactory"> + <service name="com.sun.star.comp.embed.FileSystemStorageFactory"/> + <service name="com.sun.star.embed.FileSystemStorageFactory"/> + </implementation> +</component> diff --git a/svl/source/fsstor/makefile.mk b/svl/source/fsstor/makefile.mk index dc91814772f9..1dd5d2307037 100644 --- a/svl/source/fsstor/makefile.mk +++ b/svl/source/fsstor/makefile.mk @@ -64,3 +64,11 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk + +ALLTAR : $(MISC)/fsstorage.component + +$(MISC)/fsstorage.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + fsstorage.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt fsstorage.component diff --git a/svl/source/misc/lngmisc.cxx b/svl/source/misc/lngmisc.cxx index 2203cc08458e..488e317c6f58 100644..100755 --- a/svl/source/misc/lngmisc.cxx +++ b/svl/source/misc/lngmisc.cxx @@ -27,6 +27,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_svl.hxx" + #include <lngmisc.hxx> #include <tools/solar.h> #include <tools/string.hxx> @@ -132,6 +133,38 @@ BOOL ReplaceControlChars( rtl::OUString &rTxt, sal_Char /*aRplcChar*/ ) return bModified; } + +String GetThesaurusReplaceText( const String &rText ) +{ + // The strings for synonyms returned by the thesaurus sometimes have some + // explanation text put in between '(' and ')' or a trailing '*'. + // These parts should not be put in the ReplaceEdit Text that may get + // inserted into the document. Thus we strip them from the text. + + String aText( rText ); + + xub_StrLen nPos = aText.Search( sal_Unicode('(') ); + while (STRING_NOTFOUND != nPos) + { + xub_StrLen nEnd = aText.Search( sal_Unicode(')'), nPos ); + if (STRING_NOTFOUND != nEnd) + aText.Erase( nPos, nEnd-nPos+1 ); + else + break; + nPos = aText.Search( sal_Unicode('(') ); + } + + nPos = aText.Search( sal_Unicode('*') ); + if (STRING_NOTFOUND != nPos) + aText.Erase( nPos ); + + // remove any possible remaining ' ' that may confuse the thesaurus + // when it gets called with the text + aText.EraseLeadingAndTrailingChars( sal_Unicode(' ') ); + + return aText; +} + /////////////////////////////////////////////////////////////////////////// } // namespace linguistic diff --git a/svl/source/passwordcontainer/makefile.mk b/svl/source/passwordcontainer/makefile.mk index d9eb9615cf80..626a6ffc5830 100644 --- a/svl/source/passwordcontainer/makefile.mk +++ b/svl/source/passwordcontainer/makefile.mk @@ -60,3 +60,11 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk + +ALLTAR : $(MISC)/passwordcontainer.component + +$(MISC)/passwordcontainer.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt passwordcontainer.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt passwordcontainer.component diff --git a/svl/source/passwordcontainer/passwordcontainer.component b/svl/source/passwordcontainer/passwordcontainer.component new file mode 100644 index 000000000000..42eb47cf14dd --- /dev/null +++ b/svl/source/passwordcontainer/passwordcontainer.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="stardiv.svl.PasswordContainer"> + <service name="com.sun.star.task.PasswordContainer"/> + </implementation> +</component> diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx index 7db18c65db1f..6e92d390eea9 100644 --- a/svl/source/passwordcontainer/passwordcontainer.cxx +++ b/svl/source/passwordcontainer/passwordcontainer.cxx @@ -1543,24 +1543,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo ( - void * /* pServiceManager */, void * pRegistryKey) -{ - if (pRegistryKey) - { - Reference< XRegistryKey > xRegistryKey ( - reinterpret_cast< XRegistryKey* >( pRegistryKey )); - Reference< XRegistryKey > xNewKey; - - xNewKey = xRegistryKey->createKey( - ::rtl::OUString::createFromAscii( "/stardiv.svl.PasswordContainer/UNO/SERVICES" )); - xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.task.PasswordContainer")); - - return sal_True; - } - return sal_False; -} - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */) { diff --git a/svl/source/uno/registerservices.cxx b/svl/source/uno/registerservices.cxx index ab01d308c2da..8edbccc2d435 100644 --- a/svl/source/uno/registerservices.cxx +++ b/svl/source/uno/registerservices.cxx @@ -60,37 +60,6 @@ SVL_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SVL_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo ( - void * /* _pServiceManager */, void * _pRegistryKey) -{ - if (_pRegistryKey) - { - Reference< css::registry::XRegistryKey > xRegistryKey ( - reinterpret_cast< css::registry::XRegistryKey* >(_pRegistryKey)); - Reference< css::registry::XRegistryKey > xNewKey; - - xNewKey = xRegistryKey->createKey ( - OUString::createFromAscii( - "/com.sun.star.uno.util.numbers.SvNumberFormatsSupplierServiceObject/UNO/SERVICES" ) ); - xNewKey->createKey ( - OUString::createFromAscii( "com.sun.star.util.NumberFormatsSupplier" ) ); - - xNewKey = xRegistryKey->createKey ( - OUString::createFromAscii( - "/com.sun.star.uno.util.numbers.SvNumberFormatterServiceObject/UNO/SERVICES" ) ); - xNewKey->createKey ( - OUString::createFromAscii( "com.sun.star.util.NumberFormatter" ) ); - - xNewKey = xRegistryKey->createKey( - OUString::createFromAscii( "/com.sun.star.comp.svl.PathService/UNO/SERVICES" ) ); - xNewKey->createKey ( - OUString::createFromAscii( "com.sun.star.config.SpecialConfigManager" ) ); - - return sal_True; - } - return sal_False; -} - SVL_DLLPUBLIC void* SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * _pServiceManager, void * /* _pRegistryKey*/) { diff --git a/svl/util/makefile.mk b/svl/util/makefile.mk index 3cb87dcd33ad..7cb493ae0d94 100644 --- a/svl/util/makefile.mk +++ b/svl/util/makefile.mk @@ -120,3 +120,11 @@ ALL: $(SLB)$/svl.lib \ .INCLUDE : target.mk + +ALLTAR : $(MISC)/svl.component + +$(MISC)/svl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + svl.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt svl.component diff --git a/svl/util/svl.component b/svl/util/svl.component new file mode 100644 index 000000000000..4af1a31f5782 --- /dev/null +++ b/svl/util/svl.component @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.svl.PathService"> + <service name="com.sun.star.config.SpecialConfigManager"/> + </implementation> + <implementation name="com.sun.star.uno.util.numbers.SvNumberFormatsSupplierServiceObject"> + <service name="com.sun.star.util.NumberFormatsSupplier"/> + </implementation> + <implementation name="com.sun.star.uno.util.numbers.SvNumberFormatterServiceObject"> + <service name="com.sun.star.util.NumberFormatter"/> + </implementation> +</component> diff --git a/svtools/prj/d.lst b/svtools/prj/d.lst index b46ddef72311..7b9c6a1957e3 100644 --- a/svtools/prj/d.lst +++ b/svtools/prj/d.lst @@ -38,3 +38,6 @@ dos: sh -c "if test %OS% = MACOSX; then macosx-create-bundle %_DEST%\bin%_EXT%\b *.xml %_DEST%\xml%_EXT%\*.xml +..\%__SRC%\misc\hatchwindowfactory.component %_DEST%\xml%_EXT%\hatchwindowfactory.component +..\%__SRC%\misc\productregistration.uno.component %_DEST%\xml%_EXT%\productregistration.uno.component +..\%__SRC%\misc\svt.component %_DEST%\xml%_EXT%\svt.component diff --git a/svtools/source/hatchwindow/hatchwindowfactory.component b/svtools/source/hatchwindow/hatchwindowfactory.component new file mode 100644 index 000000000000..153fc8796281 --- /dev/null +++ b/svtools/source/hatchwindow/hatchwindowfactory.component @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.embed.DocumentCloser"> + <service name="com.sun.star.embed.DocumentCloser"/> + </implementation> + <implementation name="com.sun.star.comp.embed.HatchWindowFactory"> + <service name="com.sun.star.comp.embed.HatchWindowFactory"/> + <service name="com.sun.star.embed.HatchWindowFactory"/> + </implementation> +</component> diff --git a/svtools/source/hatchwindow/hatchwindowfactory.cxx b/svtools/source/hatchwindow/hatchwindowfactory.cxx index f8dbddff3761..0eec027167c2 100644 --- a/svtools/source/hatchwindow/hatchwindowfactory.cxx +++ b/svtools/source/hatchwindow/hatchwindowfactory.cxx @@ -112,45 +112,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo ( - void * /* pServiceManager */, void * pRegistryKey) -{ - if (pRegistryKey) - { - uno::Reference< registry::XRegistryKey> xRegistryKey ( - reinterpret_cast< registry::XRegistryKey* >(pRegistryKey)); - uno::Reference< registry::XRegistryKey> xNewKey; - - // OHatchWindowFactory registration - - xNewKey = xRegistryKey->createKey ( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - OHatchWindowFactory::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - uno::Sequence< ::rtl::OUString > aServices = - OHatchWindowFactory::impl_staticGetSupportedServiceNames(); - for (sal_Int32 i = 0, n = aServices.getLength(); i < n; i++ ) - xNewKey->createKey( aServices.getConstArray()[i] ); - - - // ODocumentCloser registration - - xNewKey = xRegistryKey->createKey ( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - ODocumentCloser::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - aServices = ODocumentCloser::impl_staticGetSupportedServiceNames(); - for (sal_Int32 i = 0, n = aServices.getLength(); i < n; i++ ) - xNewKey->createKey( aServices.getConstArray()[i] ); - - - return sal_True; - } - return sal_False; -} - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */) { diff --git a/svtools/source/hatchwindow/makefile.mk b/svtools/source/hatchwindow/makefile.mk index 316e4ab1bfe2..3c736bc4e66a 100644 --- a/svtools/source/hatchwindow/makefile.mk +++ b/svtools/source/hatchwindow/makefile.mk @@ -63,3 +63,11 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk + +ALLTAR : $(MISC)/hatchwindowfactory.component + +$(MISC)/hatchwindowfactory.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt hatchwindowfactory.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt hatchwindowfactory.component diff --git a/svtools/source/productregistration/makefile.mk b/svtools/source/productregistration/makefile.mk index a26e8feca753..b6e119601697 100644 --- a/svtools/source/productregistration/makefile.mk +++ b/svtools/source/productregistration/makefile.mk @@ -76,3 +76,11 @@ RESLIB1SRSFILES=\ .INCLUDE : target.mk + +ALLTAR : $(MISC)/productregistration.uno.component + +$(MISC)/productregistration.uno.component .ERRREMOVE : \ + $(SOLARENV)/bin/createcomponent.xslt productregistration.uno.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt productregistration.uno.component diff --git a/svtools/source/productregistration/productregistration.cxx b/svtools/source/productregistration/productregistration.cxx index 39629f5c3f77..cb3a9b7a7702 100644 --- a/svtools/source/productregistration/productregistration.cxx +++ b/svtools/source/productregistration/productregistration.cxx @@ -461,25 +461,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo ( - void * /* pServiceManager */, void * pRegistryKey) -{ - if (pRegistryKey) - { - Reference< XRegistryKey > xRegistryKey ( - reinterpret_cast< XRegistryKey* >( pRegistryKey )); - Reference< XRegistryKey > xNewKey; - - xNewKey = xRegistryKey->createKey( - OUString::createFromAscii( "/" PRODREG_IMPLNAME "/UNO/SERVICES" )); - xNewKey->createKey( - OUString::createFromAscii( PRODREG_SERVNAME )); - - return sal_True; - } - return sal_False; -} - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */) { diff --git a/svtools/source/productregistration/productregistration.uno.component b/svtools/source/productregistration/productregistration.uno.component new file mode 100644 index 000000000000..da2cfd37c483 --- /dev/null +++ b/svtools/source/productregistration/productregistration.uno.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.setup.ProductRegistration"> + <service name="com.sun.star.setup.ProductRegistration"/> + </implementation> +</component> diff --git a/svtools/source/uno/miscservices.cxx b/svtools/source/uno/miscservices.cxx index e16a1ecb56dc..34984976bf07 100644 --- a/svtools/source/uno/miscservices.cxx +++ b/svtools/source/uno/miscservices.cxx @@ -101,55 +101,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo ( - void * pServiceManager, void * _pRegistryKey ) -{ - if (_pRegistryKey) - { - Reference< XRegistryKey > xRegistryKey ( - reinterpret_cast< XRegistryKey* >( _pRegistryKey )); - Reference< XRegistryKey > xNewKey; - uno::Sequence< ::rtl::OUString > aServices; - - xNewKey = xRegistryKey->createKey ( - OUString::createFromAscii( "/com.sun.star.comp.svtools.OAddressBookSourceDialogUno/UNO/SERVICES" ) ); - xNewKey->createKey( - OUString::createFromAscii( "com.sun.star.ui.AddressBookSourceDialog" ) ); - - xNewKey = xRegistryKey->createKey ( - OUString::createFromAscii( "/com.sun.star.svtools.SvFilterOptionsDialog/UNO/SERVICES" ) ); - xNewKey->createKey ( - OUString::createFromAscii( "com.sun.star.ui.dialogs.FilterOptionsDialog" ) ); - - // GraphicProvider - xNewKey = reinterpret_cast< registry::XRegistryKey * >( _pRegistryKey )->createKey( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - GraphicProvider::getImplementationName_Static() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - aServices = GraphicProvider::getSupportedServiceNames_Static(); - int i; - for( i = 0; i < aServices.getLength(); i++ ) - xNewKey->createKey( aServices.getConstArray()[ i ] ); - - // GraphicRendererVCL - xNewKey = reinterpret_cast< registry::XRegistryKey * >( _pRegistryKey )->createKey( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - GraphicRendererVCL::getImplementationName_Static() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - aServices = ( GraphicRendererVCL::getSupportedServiceNames_Static() ); - for( i = 0; i < aServices.getLength(); i++ ) - xNewKey->createKey( aServices.getConstArray()[ i ] ); - - if ( !component_writeInfoHelper( reinterpret_cast< lang::XMultiServiceFactory* >( pServiceManager ), reinterpret_cast< registry::XRegistryKey* >( _pRegistryKey ), serviceDecl ) ) - return false; - - return ::cppu::component_writeInfoHelper( pServiceManager, _pRegistryKey, s_aServiceEntries ); - } - return sal_False; -} - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory ( const sal_Char * pImplementationName, void * _pServiceManager, void * pRegistryKey) { diff --git a/svtools/util/makefile.mk b/svtools/util/makefile.mk index f9c14a540410..27b46488a16c 100644 --- a/svtools/util/makefile.mk +++ b/svtools/util/makefile.mk @@ -190,3 +190,11 @@ ALL: $(SLB)$/svt.lib \ .INCLUDE : target.mk + +ALLTAR : $(MISC)/svt.component + +$(MISC)/svt.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + svt.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt svt.component diff --git a/svtools/util/svt.component b/svtools/util/svt.component new file mode 100644 index 000000000000..e15970547a38 --- /dev/null +++ b/svtools/util/svt.component @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.graphic.GraphicProvider"> + <service name="com.sun.star.graphic.GraphicProvider"/> + </implementation> + <implementation name="com.sun.star.comp.graphic.GraphicRendererVCL"> + <service name="com.sun.star.graphic.GraphicRendererVCL"/> + </implementation> + <implementation name="com.sun.star.comp.svtools.OAddressBookSourceDialogUno"> + <service name="com.sun.star.ui.AddressBookSourceDialog"/> + </implementation> + <implementation name="com.sun.star.comp.svtools.uno.Wizard"> + <service name="com.sun.star.ui.dialogs.Wizard"/> + </implementation> + <implementation name="com.sun.star.graphic.GraphicObject"> + <service name="com.sun.star.graphic.GraphicObject"/> + </implementation> + <implementation name="com.sun.star.svtools.SvFilterOptionsDialog"> + <service name="com.sun.star.ui.dialogs.FilterOptionsDialog"/> + </implementation> +</component> diff --git a/toolkit/prj/d.lst b/toolkit/prj/d.lst index 375485c96e4d..01eb5026e401 100644 --- a/toolkit/prj/d.lst +++ b/toolkit/prj/d.lst @@ -63,3 +63,4 @@ mkdir: %_DEST%\inc%_EXT%\layout\vcl ..\source\layout\vcl\*.hxx %_DEST%\inc%_EXT%\layout\vcl\*.hxx ..\%__SRC%\bin\*-layout.zip %_DEST%\pck%_EXT%\*.* +..\%__SRC%\misc\tk.component %_DEST%\xml%_EXT%\tk.component diff --git a/toolkit/source/awt/asynccallback.cxx b/toolkit/source/awt/asynccallback.cxx index 593feb582274..9e5334b2d28c 100644 --- a/toolkit/source/awt/asynccallback.cxx +++ b/toolkit/source/awt/asynccallback.cxx @@ -191,9 +191,3 @@ void * SAL_CALL comp_AsyncCallback_component_getFactory( return ::cppu::component_getFactoryHelper( implName, serviceManager, registryKey, entries); } - -sal_Bool SAL_CALL comp_AsyncCallback_component_writeInfo( - void * serviceManager, void * registryKey) -{ - return ::cppu::component_writeInfoHelper(serviceManager, registryKey, entries); -} diff --git a/toolkit/source/helper/registerservices.cxx b/toolkit/source/helper/registerservices.cxx index aedf4024f2b9..477032538af8 100644 --- a/toolkit/source/helper/registerservices.cxx +++ b/toolkit/source/helper/registerservices.cxx @@ -205,10 +205,8 @@ extern ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL extern ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL DefaultGridColumnModel_CreateInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ); extern ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL GridColumn_CreateInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ); -extern sal_Bool SAL_CALL comp_AsyncCallback_component_writeInfo( void * serviceManager, void * registryKey ); extern void * SAL_CALL comp_AsyncCallback_component_getFactory( const char * implName, void * serviceManager, void * registryKey ); -extern sal_Bool SAL_CALL comp_Layout_component_writeInfo( void * serviceManager, void * registryKey ); extern void * SAL_CALL comp_Layout_component_getFactory( const char * implName, void * serviceManager, void * registryKey ); extern "C" @@ -219,91 +217,6 @@ TOOLKIT_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment( const sa *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -TOOLKIT_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo( void* _pServiceManager, void* _pRegistryKey ) -{ - if (_pRegistryKey) - { - ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > xRegistryKey = - static_cast< ::com::sun::star::registry::XRegistryKey* >( _pRegistryKey ); - - registerServices( xRegistryKey, "VCLXToolkit", szServiceName_Toolkit, szServiceName2_Toolkit ); - registerServices( xRegistryKey, "VCLXPopupMenu", szServiceName_PopupMenu, szServiceName2_PopupMenu ); - registerServices( xRegistryKey, "VCLXMenuBar", szServiceName_MenuBar, szServiceName2_MenuBar ); - registerServices( xRegistryKey, "VCLXPointer", szServiceName_Pointer, szServiceName2_Pointer ); - registerServices( xRegistryKey, "UnoControlContainer", szServiceName_UnoControlContainer, szServiceName2_UnoControlContainer ); - registerServices( xRegistryKey, "UnoControlContainerModel", szServiceName_UnoControlContainerModel, szServiceName2_UnoControlContainerModel ); - registerServices( xRegistryKey, "StdTabController", szServiceName_TabController, szServiceName2_TabController ); - registerServices( xRegistryKey, "StdTabControllerModel", szServiceName_TabControllerModel, szServiceName2_TabControllerModel ); - registerServices( xRegistryKey, "UnoDialogControl", szServiceName_UnoControlDialog, szServiceName2_UnoControlDialog ); - registerServices( xRegistryKey, "UnoControlDialogModel", szServiceName_UnoControlDialogModel, szServiceName2_UnoControlDialogModel ); - registerServices( xRegistryKey, "UnoEditControl", szServiceName_UnoControlEdit, szServiceName2_UnoControlEdit ); - registerServices( xRegistryKey, "UnoControlEditModel", szServiceName_UnoControlEditModel, szServiceName2_UnoControlEditModel ); - registerServices( xRegistryKey, "UnoDateFieldControl", szServiceName_UnoControlDateField, szServiceName2_UnoControlDateField ); - registerServices( xRegistryKey, "UnoControlDateFieldModel", szServiceName_UnoControlDateFieldModel, szServiceName2_UnoControlDateFieldModel ); - registerServices( xRegistryKey, "UnoTimeFieldControl", szServiceName_UnoControlTimeField, szServiceName2_UnoControlTimeField ); - registerServices( xRegistryKey, "UnoControlTimeFieldModel", szServiceName_UnoControlTimeFieldModel, szServiceName2_UnoControlTimeFieldModel ); - registerServices( xRegistryKey, "UnoNumericFieldControl", szServiceName_UnoControlNumericField, szServiceName2_UnoControlNumericField ); - registerServices( xRegistryKey, "UnoControlNumericFieldModel", szServiceName_UnoControlNumericFieldModel, szServiceName2_UnoControlNumericFieldModel ); - registerServices( xRegistryKey, "UnoCurrencyFieldControl", szServiceName_UnoControlCurrencyField, szServiceName2_UnoControlCurrencyField ); - registerServices( xRegistryKey, "UnoControlCurrencyFieldModel", szServiceName_UnoControlCurrencyFieldModel, szServiceName2_UnoControlCurrencyFieldModel ); - registerServices( xRegistryKey, "UnoPatternFieldControl", szServiceName_UnoControlPatternField, szServiceName2_UnoControlPatternField ); - registerServices( xRegistryKey, "UnoControlPatternFieldModel", szServiceName_UnoControlPatternFieldModel, szServiceName2_UnoControlPatternFieldModel ); - registerServices( xRegistryKey, "UnoFormattedFieldControl", szServiceName_UnoControlFormattedField, szServiceName2_UnoControlFormattedField ); - registerServices( xRegistryKey, "UnoControlFormattedFieldModel", szServiceName_UnoControlFormattedFieldModel, szServiceName2_UnoControlFormattedFieldModel ); - registerServices( xRegistryKey, "UnoFileControl", szServiceName_UnoControlFileControl, szServiceName2_UnoControlFileControl ); - registerServices( xRegistryKey, "UnoControlFileControlModel", szServiceName_UnoControlFileControlModel, szServiceName2_UnoControlFileControlModel ); - registerServices( xRegistryKey, "UnoButtonControl", szServiceName_UnoControlButton, szServiceName2_UnoControlButton ); - registerServices( xRegistryKey, "UnoControlButtonModel", szServiceName_UnoControlButtonModel, szServiceName2_UnoControlButtonModel ); - registerServices( xRegistryKey, "UnoImageControlControl", szServiceName_UnoControlImageButton, szServiceName2_UnoControlImageButton ); - registerServices( xRegistryKey, "UnoControlImageControlModel", szServiceName_UnoControlImageButtonModel, szServiceName2_UnoControlImageButtonModel ); - registerServices( xRegistryKey, "UnoImageControlControl", szServiceName_UnoControlImageControl, szServiceName2_UnoControlImageControl ); - registerServices( xRegistryKey, "UnoControlImageControlModel", szServiceName_UnoControlImageControlModel, szServiceName2_UnoControlImageControlModel ); - registerServices( xRegistryKey, "UnoRadioButtonControl", szServiceName_UnoControlRadioButton, szServiceName2_UnoControlRadioButton ); - registerServices( xRegistryKey, "UnoControlRadioButtonModel", szServiceName_UnoControlRadioButtonModel, szServiceName2_UnoControlRadioButtonModel ); - registerServices( xRegistryKey, "UnoCheckBoxControl", szServiceName_UnoControlCheckBox, szServiceName2_UnoControlCheckBox ); - registerServices( xRegistryKey, "UnoControlCheckBoxModel", szServiceName_UnoControlCheckBoxModel, szServiceName2_UnoControlCheckBoxModel ); - registerServices( xRegistryKey, "UnoListBoxControl", szServiceName_UnoControlListBox, szServiceName2_UnoControlListBox ); - registerServices( xRegistryKey, "UnoControlListBoxModel", szServiceName_UnoControlListBoxModel, szServiceName2_UnoControlListBoxModel ); - registerServices( xRegistryKey, "UnoComboBoxControl", szServiceName_UnoControlComboBox, szServiceName2_UnoControlComboBox ); - registerServices( xRegistryKey, "UnoControlComboBoxModel", szServiceName_UnoControlComboBoxModel, szServiceName2_UnoControlComboBoxModel ); - registerServices( xRegistryKey, "UnoFixedTextControl", szServiceName_UnoControlFixedText, szServiceName2_UnoControlFixedText ); - registerServices( xRegistryKey, "UnoControlFixedTextModel", szServiceName_UnoControlFixedTextModel, szServiceName2_UnoControlFixedTextModel ); - registerServices( xRegistryKey, "UnoGroupBoxControl", szServiceName_UnoControlGroupBox, szServiceName2_UnoControlGroupBox ); - registerServices( xRegistryKey, "UnoControlGroupBoxModel", szServiceName_UnoControlGroupBoxModel, szServiceName2_UnoControlGroupBoxModel ); - registerServices( xRegistryKey, "UnoProgressBarControl", szServiceName_UnoControlProgressBar, szServiceName2_UnoControlProgressBar ); - registerServices( xRegistryKey, "UnoControlProgressBarModel", szServiceName_UnoControlProgressBarModel, szServiceName2_UnoControlProgressBarModel ); - registerServices( xRegistryKey, "UnoScrollBarControl", szServiceName_UnoControlScrollBar, szServiceName2_UnoControlScrollBar ); - registerServices( xRegistryKey, "UnoControlScrollBarModel", szServiceName_UnoControlScrollBarModel, szServiceName2_UnoControlScrollBarModel ); - registerServices( xRegistryKey, "UnoSpinButtonModel", szServiceName_UnoSpinButtonModel ); - registerServices( xRegistryKey, "UnoSpinButtonControl", szServiceName_UnoSpinButtonControl ); - registerServices( xRegistryKey, "UnoFixedLineControl", szServiceName_UnoControlFixedLine, szServiceName2_UnoControlFixedLine ); - registerServices( xRegistryKey, "UnoControlFixedLineModel", szServiceName_UnoControlFixedLineModel, szServiceName2_UnoControlFixedLineModel ); - registerServices( xRegistryKey, "VCLXPrinterServer", szServiceName_PrinterServer, szServiceName2_PrinterServer ); - registerServices( xRegistryKey, "UnoRoadmapControl", szServiceName_UnoControlRoadmap, szServiceName2_UnoControlRoadmap ); - registerServices( xRegistryKey, "UnoControlRoadmapModel", szServiceName_UnoControlRoadmapModel, szServiceName2_UnoControlRoadmapModel ); - registerServices( xRegistryKey, "TreeControl", szServiceName_TreeControl ); - registerServices( xRegistryKey, "TreeControlModel", szServiceName_TreeControlModel ); - registerServices( xRegistryKey, "MutableTreeDataModel", szServiceName_MutableTreeDataModel ); - registerServices( xRegistryKey, "UnoSimpleAnimationControlModel", szServiceName_UnoSimpleAnimationControlModel, szServiceName2_UnoSimpleAnimationControlModel ); - registerServices( xRegistryKey, "UnoSimpleAnimationControl", szServiceName_UnoSimpleAnimationControl, szServiceName2_UnoSimpleAnimationControl ); - registerServices( xRegistryKey, "UnoThrobberControlModel", szServiceName_UnoThrobberControlModel, szServiceName2_UnoThrobberControlModel ); - registerServices( xRegistryKey, "UnoThrobberControl", szServiceName_UnoThrobberControl, szServiceName2_UnoThrobberControl ); - registerServices( xRegistryKey, "UnoFixedHyperlinkControl", szServiceName_UnoControlFixedHyperlink ); - registerServices( xRegistryKey, "UnoControlFixedHyperlinkModel", szServiceName_UnoControlFixedHyperlinkModel ); - registerServices( xRegistryKey, "GridControl", szServiceName_GridControl ); - registerServices( xRegistryKey, "GridControlModel", szServiceName_GridControlModel ); - registerServices( xRegistryKey, "DefaultGridDataModel", szServiceName_DefaultGridDataModel ); - registerServices( xRegistryKey, "DefaultGridColumnModel", szServiceName_DefaultGridColumnModel ); - registerServices( xRegistryKey, "GridColumn", szServiceName_GridColumn ); - - comp_AsyncCallback_component_writeInfo( _pServiceManager, _pRegistryKey ); - comp_Layout_component_writeInfo( _pServiceManager, _pRegistryKey ); - - return sal_True; - } - return sal_False; -} - TOOLKIT_DLLPUBLIC void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* _pRegistryKey ) { void* pRet = NULL; diff --git a/toolkit/source/layout/core/factory.cxx b/toolkit/source/layout/core/factory.cxx index db9616a8cc77..1390d9405f71 100644 --- a/toolkit/source/layout/core/factory.cxx +++ b/toolkit/source/layout/core/factory.cxx @@ -57,33 +57,6 @@ void * SAL_CALL comp_Layout_component_getFactory( const char * pImplName, void * return pRet; } -sal_Bool SAL_CALL comp_Layout_component_writeInfo( void * /*serviceManager*/, void * pRegistryKey ) - { - if ( pRegistryKey ) - { - try - { - uno::Reference< registry::XRegistryKey > xKey( reinterpret_cast< registry::XRegistryKey* >( pRegistryKey ) ); - uno::Reference< registry::XRegistryKey > xNewKey; - - xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - LayoutFactory::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - - const uno::Sequence< ::rtl::OUString > aServices = LayoutFactory::impl_staticGetSupportedServiceNames(); - for ( sal_Int32 i = 0; i < aServices.getLength(); i++ ) - xNewKey->createKey( aServices.getConstArray()[i] ); - - return sal_True; - } - catch (registry::InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; - } - // Component registration ::rtl::OUString SAL_CALL LayoutFactory::impl_staticGetImplementationName() { diff --git a/toolkit/util/makefile.mk b/toolkit/util/makefile.mk index 48d534a8a9b3..2e9adce4f6bd 100644 --- a/toolkit/util/makefile.mk +++ b/toolkit/util/makefile.mk @@ -83,3 +83,11 @@ RESLIB1SRSFILES=$(RES1FILELIST) # --- Footer ------------------------------------------------------------- .INCLUDE : target.mk + +ALLTAR : $(MISC)/tk.component + +$(MISC)/tk.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + tk.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt tk.component diff --git a/toolkit/util/tk.component b/toolkit/util/tk.component new file mode 100644 index 000000000000..e782283c39eb --- /dev/null +++ b/toolkit/util/tk.component @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.awt.comp.AsyncCallback"> + <service name="com.sun.star.awt.AsyncCallback"/> + </implementation> + <implementation name="com.sun.star.comp.awt.Layout"> + <service name="com.sun.star.awt.Layout"/> + <service name="com.sun.star.comp.awt.Layout"/> + </implementation> + <implementation name="stardiv.Toolkit.DefaultGridColumnModel"> + <service name="com.sun.star.awt.grid.DefaultGridColumnModel"/> + </implementation> + <implementation name="stardiv.Toolkit.DefaultGridDataModel"> + <service name="com.sun.star.awt.grid.DefaultGridDataModel"/> + </implementation> + <implementation name="stardiv.Toolkit.GridColumn"> + <service name="com.sun.star.awt.grid.GridColumn"/> + </implementation> + <implementation name="stardiv.Toolkit.GridControl"> + <service name="com.sun.star.awt.grid.UnoControlGrid"/> + </implementation> + <implementation name="stardiv.Toolkit.GridControlModel"> + <service name="com.sun.star.awt.grid.UnoControlGridModel"/> + </implementation> + <implementation name="stardiv.Toolkit.MutableTreeDataModel"> + <service name="com.sun.star.awt.tree.MutableTreeDataModel"/> + </implementation> + <implementation name="stardiv.Toolkit.StdTabController"> + <service name="com.sun.star.awt.TabController"/> + <service name="stardiv.vcl.control.TabController"/> + </implementation> + <implementation name="stardiv.Toolkit.StdTabControllerModel"> + <service name="com.sun.star.awt.TabControllerModel"/> + <service name="stardiv.vcl.controlmodel.TabController"/> + </implementation> + <implementation name="stardiv.Toolkit.TreeControl"> + <service name="com.sun.star.awt.tree.TreeControl"/> + </implementation> + <implementation name="stardiv.Toolkit.TreeControlModel"> + <service name="com.sun.star.awt.tree.TreeControlModel"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoButtonControl"> + <service name="com.sun.star.awt.UnoControlButton"/> + <service name="stardiv.vcl.control.Button"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoCheckBoxControl"> + <service name="com.sun.star.awt.UnoControlCheckBox"/> + <service name="stardiv.vcl.control.CheckBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoComboBoxControl"> + <service name="com.sun.star.awt.UnoControlComboBox"/> + <service name="stardiv.vcl.control.ComboBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlButtonModel"> + <service name="com.sun.star.awt.UnoControlButtonModel"/> + <service name="stardiv.vcl.controlmodel.Button"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlCheckBoxModel"> + <service name="com.sun.star.awt.UnoControlCheckBoxModel"/> + <service name="stardiv.vcl.controlmodel.CheckBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlComboBoxModel"> + <service name="com.sun.star.awt.UnoControlComboBoxModel"/> + <service name="stardiv.vcl.controlmodel.ComboBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlContainer"> + <service name="com.sun.star.awt.UnoControlContainer"/> + <service name="stardiv.vcl.control.ControlContainer"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlContainerModel"> + <service name="com.sun.star.awt.UnoControlContainerModel"/> + <service name="stardiv.vcl.controlmodel.ControlContainer"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlCurrencyFieldModel"> + <service name="com.sun.star.awt.UnoControlCurrencyFieldModel"/> + <service name="stardiv.vcl.controlmodel.CurrencyField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlDateFieldModel"> + <service name="com.sun.star.awt.UnoControlDateFieldModel"/> + <service name="stardiv.vcl.controlmodel.DateField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlDialogModel"> + <service name="com.sun.star.awt.UnoControlDialogModel"/> + <service name="stardiv.vcl.controlmodel.Dialog"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlEditModel"> + <service name="com.sun.star.awt.UnoControlEditModel"/> + <service name="stardiv.vcl.controlmodel.Edit"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlFileControlModel"> + <service name="com.sun.star.awt.UnoControlFileControlModel"/> + <service name="stardiv.vcl.controlmodel.FileControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlFixedHyperlinkModel"> + <service name="com.sun.star.awt.UnoControlFixedHyperlinkModel"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlFixedLineModel"> + <service name="com.sun.star.awt.UnoControlFixedLineModel"/> + <service name="stardiv.vcl.controlmodel.FixedLine"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlFixedTextModel"> + <service name="com.sun.star.awt.UnoControlFixedTextModel"/> + <service name="stardiv.vcl.controlmodel.FixedText"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlFormattedFieldModel"> + <service name="com.sun.star.awt.UnoControlFormattedFieldModel"/> + <service name="stardiv.vcl.controlmodel.FormattedField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlGroupBoxModel"> + <service name="com.sun.star.awt.UnoControlGroupBoxModel"/> + <service name="stardiv.vcl.controlmodel.GroupBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlImageControlModel"> + <service name="com.sun.star.awt.UnoControlImageButtonModel"/> + <service name="com.sun.star.awt.UnoControlImageControlModel"/> + <service name="stardiv.vcl.controlmodel.ImageButton"/> + <service name="stardiv.vcl.controlmodel.ImageControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlListBoxModel"> + <service name="com.sun.star.awt.UnoControlListBoxModel"/> + <service name="stardiv.vcl.controlmodel.ListBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlNumericFieldModel"> + <service name="com.sun.star.awt.UnoControlNumericFieldModel"/> + <service name="stardiv.vcl.controlmodel.NumericField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlPatternFieldModel"> + <service name="com.sun.star.awt.UnoControlPatternFieldModel"/> + <service name="stardiv.vcl.controlmodel.PatternField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlProgressBarModel"> + <service name="com.sun.star.awt.UnoControlProgressBarModel"/> + <service name="stardiv.vcl.controlmodel.ProgressBar"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlRadioButtonModel"> + <service name="com.sun.star.awt.UnoControlRadioButtonModel"/> + <service name="stardiv.vcl.controlmodel.RadioButton"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlRoadmapModel"> + <service name="com.sun.star.awt.UnoControlRoadmapModel"/> + <service name="stardiv.vcl.controlmodel.Roadmap"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlScrollBarModel"> + <service name="com.sun.star.awt.UnoControlScrollBarModel"/> + <service name="stardiv.vcl.controlmodel.ScrollBar"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoControlTimeFieldModel"> + <service name="com.sun.star.awt.UnoControlTimeFieldModel"/> + <service name="stardiv.vcl.controlmodel.TimeField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoCurrencyFieldControl"> + <service name="com.sun.star.awt.UnoControlCurrencyField"/> + <service name="stardiv.vcl.control.CurrencyField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoDateFieldControl"> + <service name="com.sun.star.awt.UnoControlDateField"/> + <service name="stardiv.vcl.control.DateField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoDialogControl"> + <service name="com.sun.star.awt.UnoControlDialog"/> + <service name="stardiv.vcl.control.Dialog"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoEditControl"> + <service name="com.sun.star.awt.UnoControlEdit"/> + <service name="stardiv.vcl.control.Edit"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoFileControl"> + <service name="com.sun.star.awt.UnoControlFileControl"/> + <service name="stardiv.vcl.control.FileControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoFixedHyperlinkControl"> + <service name="com.sun.star.awt.UnoControlFixedHyperlink"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoFixedLineControl"> + <service name="com.sun.star.awt.UnoControlFixedLine"/> + <service name="stardiv.vcl.control.FixedLine"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoFixedTextControl"> + <service name="com.sun.star.awt.UnoControlFixedText"/> + <service name="stardiv.vcl.control.FixedText"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoFormattedFieldControl"> + <service name="com.sun.star.awt.UnoControlFormattedField"/> + <service name="stardiv.vcl.control.FormattedField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoGroupBoxControl"> + <service name="com.sun.star.awt.UnoControlGroupBox"/> + <service name="stardiv.vcl.control.GroupBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoImageControlControl"> + <service name="com.sun.star.awt.UnoControlImageButton"/> + <service name="com.sun.star.awt.UnoControlImageControl"/> + <service name="stardiv.vcl.control.ImageButton"/> + <service name="stardiv.vcl.control.ImageControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoListBoxControl"> + <service name="com.sun.star.awt.UnoControlListBox"/> + <service name="stardiv.vcl.control.ListBox"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoNumericFieldControl"> + <service name="com.sun.star.awt.UnoControlNumericField"/> + <service name="stardiv.vcl.control.NumericField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoPatternFieldControl"> + <service name="com.sun.star.awt.UnoControlPatternField"/> + <service name="stardiv.vcl.control.PatternField"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoProgressBarControl"> + <service name="com.sun.star.awt.UnoControlProgressBar"/> + <service name="stardiv.vcl.control.ProgressBar"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoRadioButtonControl"> + <service name="com.sun.star.awt.UnoControlRadioButton"/> + <service name="stardiv.vcl.control.RadioButton"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoRoadmapControl"> + <service name="com.sun.star.awt.UnoControlRoadmap"/> + <service name="stardiv.vcl.control.Roadmap"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoScrollBarControl"> + <service name="com.sun.star.awt.UnoControlScrollBar"/> + <service name="stardiv.vcl.control.ScrollBar"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoSimpleAnimationControl"> + <service name="com.sun.star.awt.UnoControlSimpleAnimation"/> + <service name="com.sun.star.awt.UnoSimpleAnimationControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoSimpleAnimationControlModel"> + <service name="com.sun.star.awt.UnoControlSimpleAnimationModel"/> + <service name="com.sun.star.awt.UnoSimpleAnimationControlModel"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoSpinButtonControl"> + <service name="com.sun.star.awt.UnoControlSpinButton"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoSpinButtonModel"> + <service name="com.sun.star.awt.UnoControlSpinButtonModel"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoThrobberControl"> + <service name="com.sun.star.awt.UnoControlThrobber"/> + <service name="com.sun.star.awt.UnoThrobberControl"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoThrobberControlModel"> + <service name="com.sun.star.awt.UnoControlThrobberModel"/> + <service name="com.sun.star.awt.UnoThrobberControlModel"/> + </implementation> + <implementation name="stardiv.Toolkit.UnoTimeFieldControl"> + <service name="com.sun.star.awt.UnoControlTimeField"/> + <service name="stardiv.vcl.control.TimeField"/> + </implementation> + <implementation name="stardiv.Toolkit.VCLXMenuBar"> + <service name="com.sun.star.awt.MenuBar"/> + <service name="stardiv.vcl.MenuBar"/> + </implementation> + <implementation name="stardiv.Toolkit.VCLXPointer"> + <service name="com.sun.star.awt.Pointer"/> + <service name="stardiv.vcl.Pointer"/> + </implementation> + <implementation name="stardiv.Toolkit.VCLXPopupMenu"> + <service name="com.sun.star.awt.PopupMenu"/> + <service name="stardiv.vcl.PopupMenu"/> + </implementation> + <implementation name="stardiv.Toolkit.VCLXPrinterServer"> + <service name="com.sun.star.awt.PrinterServer"/> + <service name="stardiv.vcl.PrinterServer"/> + </implementation> + <implementation name="stardiv.Toolkit.VCLXToolkit"> + <service name="com.sun.star.awt.Toolkit"/> + <service name="stardiv.vcl.VclToolkit"/> + </implementation> +</component> diff --git a/unotools/prj/d.lst b/unotools/prj/d.lst index ad8a764055b2..38cafd0cc1f8 100644 --- a/unotools/prj/d.lst +++ b/unotools/prj/d.lst @@ -9,3 +9,4 @@ mkdir: %_DEST%\inc%_EXT%\unotools ..\inc\unotools\*.hxx %_DEST%\inc%_EXT%\unotools\*.hxx ..\inc\unotools\unotoolsdllapi.h %_DEST%\inc%_EXT%\unotools\unotoolsdllapi.h +..\%__SRC%\misc\utl.component %_DEST%\xml%_EXT%\utl.component diff --git a/unotools/source/ucbhelper/xtempfile.cxx b/unotools/source/ucbhelper/xtempfile.cxx index 023211dc3527..525596fae854 100644 --- a/unotools/source/ucbhelper/xtempfile.cxx +++ b/unotools/source/ucbhelper/xtempfile.cxx @@ -28,12 +28,6 @@ #include <XTempFile.hxx> #include <cppuhelper/factory.hxx> #include <cppuhelper/typeprovider.hxx> -#ifndef _COM_SUN_STAR_REGISTRY_XREGISTRYKEY_HPP -#include <com/sun/star/registry/XRegistryKey.hpp> -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP -#include <com/sun/star/beans/PropertyAttribute.hpp> -#endif #include <unotools/tempfile.hxx> #include <osl/file.hxx> #include <unotools/configmgr.hxx> @@ -489,43 +483,6 @@ throw ( ::css::uno::RuntimeException ) return ::cppu::createSingleComponentFactory( XTempFile_createInstance, getImplementationName_Static(), getSupportedServiceNames_Static() ); } -static sal_Bool writeInfo( void * pRegistryKey, - const ::rtl::OUString & rImplementationName, - ::css::uno::Sequence< ::rtl::OUString > const & rServiceNames ) -{ - ::rtl::OUString aKeyName( RTL_CONSTASCII_USTRINGPARAM ( "/" ) ); - aKeyName += rImplementationName; - aKeyName += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "/UNO/SERVICES" ) ); - - ::css::uno::Reference< ::css::registry::XRegistryKey > xKey; - try - { - xKey = static_cast< ::css::registry::XRegistryKey * >( - pRegistryKey )->createKey( aKeyName ); - } - catch ( ::css::registry::InvalidRegistryException const & ) - { - } - - if ( !xKey.is() ) - return sal_False; - - sal_Bool bSuccess = sal_True; - - for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n ) - { - try - { - xKey->createKey( rServiceNames[ n ] ); - } - catch ( ::css::registry::InvalidRegistryException const & ) - { - bSuccess = sal_False; - break; - } - } - return bSuccess; -} // C functions to implement this as a component extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( @@ -535,21 +492,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron } /** - * This function creates an implementation section in the registry and another subkey - * for each supported service. - * @param pServiceManager generic uno interface providing a service manager - * @param pRegistryKey generic uno interface providing registry key to write - */ -extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) -{ - return pRegistryKey && - writeInfo (pRegistryKey, - OTempFileService::getImplementationName_Static(), - OTempFileService::getSupportedServiceNames_Static() ); -} - - -/** * This function is called to get service factories for an implementation. * @param pImplName name of implementation * @param pServiceManager generic uno interface providing a service manager to instantiate components diff --git a/unotools/util/makefile.mk b/unotools/util/makefile.mk index 8e725d2de2fa..343e56f04169 100644 --- a/unotools/util/makefile.mk +++ b/unotools/util/makefile.mk @@ -94,3 +94,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk @echo UpdateToConfig >> $@ @echo _Impl >> $@ + +ALLTAR : $(MISC)/utl.component + +$(MISC)/utl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + utl.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt utl.component diff --git a/unotools/util/utl.component b/unotools/util/utl.component new file mode 100644 index 000000000000..8c8198741f55 --- /dev/null +++ b/unotools/util/utl.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.io.comp.TempFile"> + <service name="com.sun.star.io.TempFile"/> + </implementation> +</component> diff --git a/vcl/aqua/inc/salgdi.h b/vcl/aqua/inc/salgdi.h index a3d6c2793aae..17c4aa7acd44 100644 --- a/vcl/aqua/inc/salgdi.h +++ b/vcl/aqua/inc/salgdi.h @@ -59,7 +59,7 @@ public: virtual ImplFontEntry* CreateFontInstance( ImplFontSelectData& ) const; virtual sal_IntPtr GetFontId() const; - ImplFontCharMap* GetImplFontCharMap() const; + const ImplFontCharMap* GetImplFontCharMap() const; bool HasChar( sal_uInt32 cChar ) const; void ReadOs2Table() const; @@ -68,7 +68,7 @@ public: private: const ATSUFontID mnFontId; - mutable ImplFontCharMap* mpCharMap; + mutable const ImplFontCharMap* mpCharMap; mutable bool mbOs2Read; // true if OS2-table related info is valid mutable bool mbHasOs2Table; mutable bool mbCmapEncodingRead; // true if cmap encoding of Mac font is read @@ -281,7 +281,7 @@ public: // return only PairCount if (pKernPairs == NULL) virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ); // get the repertoire of the current font - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; // graphics must fill supplied font list virtual void GetDevFontList( ImplDevFontList* ); // graphics should call ImplAddDevFontSubstitute on supplied diff --git a/vcl/aqua/source/dtrans/aqua_service.cxx b/vcl/aqua/source/dtrans/aqua_service.cxx index 571bea2e554f..57ef1f11175c 100644 --- a/vcl/aqua/source/dtrans/aqua_service.cxx +++ b/vcl/aqua/source/dtrans/aqua_service.cxx @@ -58,28 +58,6 @@ void SAL_CALL component_getImplementationEnvironment( *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -sal_Bool SAL_CALL component_writeInfo( void* pServiceManager, void* pRegistryKey ) -{ - sal_Bool bRetVal = sal_False; - - if ( pRegistryKey ) - { - try - { - Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) ); - pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( AQUA_CLIPBOARD_REGKEY_NAME ) ) ); - bRetVal = sal_True; - } - catch( InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "InvalidRegistryException caught"); - bRetVal = sal_False; - } - } - - return bRetVal; -} - void* SAL_CALL component_getFactory( const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* pRegistryKey ) { void* pRet = 0; diff --git a/vcl/aqua/source/gdi/salgdi.cxx b/vcl/aqua/source/gdi/salgdi.cxx index b04fd9c75af7..e1daf649f6da 100644 --- a/vcl/aqua/source/gdi/salgdi.cxx +++ b/vcl/aqua/source/gdi/salgdi.cxx @@ -116,17 +116,15 @@ inline FourCharCode GetTag(const char aTagName[5]) static unsigned GetUShort( const unsigned char* p ){return((p[0]<<8)+p[1]);} static unsigned GetUInt( const unsigned char* p ) { return((p[0]<<24)+(p[1]<<16)+(p[2]<<8)+p[3]);} -ImplFontCharMap* ImplMacFontData::GetImplFontCharMap() const +const ImplFontCharMap* ImplMacFontData::GetImplFontCharMap() const { + // return the cached charmap if( mpCharMap ) - { - // return the cached charmap - mpCharMap->AddReference(); return mpCharMap; - } // set the default charmap mpCharMap = ImplFontCharMap::GetDefaultMap(); + mpCharMap->AddReference(); // get the CMAP byte size ATSFontRef rFont = FMGetATSFontRefFromFont( mnFontId ); @@ -149,10 +147,14 @@ ImplFontCharMap* ImplMacFontData::GetImplFontCharMap() const // parse the CMAP CmapResult aCmapResult; - if( !ParseCMAP( &aBuffer[0], nRawLength, aCmapResult ) ) - return mpCharMap; + if( ParseCMAP( &aBuffer[0], nRawLength, aCmapResult ) ) + { + // create the matching charmap + mpCharMap->DeReference(); + mpCharMap = new ImplFontCharMap( aCmapResult ); + mpCharMap->AddReference(); + } - mpCharMap = new ImplFontCharMap( aCmapResult ); return mpCharMap; } @@ -1992,7 +1994,7 @@ USHORT AquaSalGraphics::SetFont( ImplFontSelectData* pReqFont, int nFallbackLeve // ----------------------------------------------------------------------- -ImplFontCharMap* AquaSalGraphics::GetImplFontCharMap() const +const ImplFontCharMap* AquaSalGraphics::GetImplFontCharMap() const { if( !mpMacFontData ) return ImplFontCharMap::GetDefaultMap(); @@ -2367,6 +2369,8 @@ void AquaSalGraphics::GetGlyphWidths( const ImplFontData* pFontData, bool bVerti if( nGlyph > 0 ) rUnicodeEnc[ nUcsChar ] = nGlyph; } + + pMap->DeReference(); // TODO: add and use RAII object instead } ::CloseTTFont( pSftFont ); diff --git a/vcl/inc/vcl/glyphcache.hxx b/vcl/inc/vcl/glyphcache.hxx index a77c1626dc24..0e77d5dd6bc4 100644 --- a/vcl/inc/vcl/glyphcache.hxx +++ b/vcl/inc/vcl/glyphcache.hxx @@ -48,7 +48,6 @@ class ImplFontOptions; namespace basegfx { class B2DPolyPolygon; } class RawBitmap; -class CmapResult; #include <vcl/outfont.hxx> #include <vcl/impfont.hxx> @@ -190,7 +189,7 @@ public: virtual void FetchFontMetric( ImplFontMetricData&, long& rFactor ) const = 0; virtual ULONG GetKernPairs( ImplKernPairData** ) const { return 0; } virtual int GetGlyphKernValue( int, int ) const { return 0; } - virtual bool GetFontCodeRanges( CmapResult& ) const { return false; } + virtual const ImplFontCharMap* GetImplFontCharMap() const = 0; Point TransformPoint( const Point& ) const; GlyphData& GetGlyphData( int nGlyphIndex ); diff --git a/vcl/inc/vcl/impfont.hxx b/vcl/inc/vcl/impfont.hxx index a1104bbf4a86..e38e1dea78d4 100644 --- a/vcl/inc/vcl/impfont.hxx +++ b/vcl/inc/vcl/impfont.hxx @@ -196,8 +196,8 @@ public: int GetIndexFromChar( sal_uInt32 ) const; sal_uInt32 GetCharFromIndex( int ) const; - void AddReference(); - void DeReference(); + void AddReference() const; + void DeReference() const; int GetGlyphIndex( sal_uInt32 ) const; @@ -213,8 +213,8 @@ private: const int* mpStartGlyphs; // range-specific mapper to glyphs const USHORT* mpGlyphIds; // individual glyphid mappings int mnRangeCount; - int mnCharCount; - int mnRefCount; + int mnCharCount; // covered codepoints + mutable int mnRefCount; }; // CmapResult is a normalized version of the many CMAP formats diff --git a/vcl/inc/vcl/metric.hxx b/vcl/inc/vcl/metric.hxx index eae6b38c5f9d..6328890c1749 100644 --- a/vcl/inc/vcl/metric.hxx +++ b/vcl/inc/vcl/metric.hxx @@ -95,7 +95,7 @@ public: class VCL_DLLPUBLIC FontCharMap { private: - ImplFontCharMap* mpImpl; + const ImplFontCharMap* mpImpl; public: FontCharMap(); @@ -118,7 +118,7 @@ public: private: friend class OutputDevice; - void Reset( ImplFontCharMap* pNewMap = NULL ); + void Reset( const ImplFontCharMap* pNewMap = NULL ); // prevent assignment and copy construction FontCharMap( const FontCharMap& ); diff --git a/vcl/inc/vcl/salgdi.hxx b/vcl/inc/vcl/salgdi.hxx index cbe3581bedc4..d8276406746e 100644 --- a/vcl/inc/vcl/salgdi.hxx +++ b/vcl/inc/vcl/salgdi.hxx @@ -239,7 +239,7 @@ public: // return only PairCount if (pKernPairs == NULL) virtual ULONG GetKernPairs( ULONG nMaxPairCount, ImplKernPairData* ) = 0; // get the repertoire of the current font - virtual ImplFontCharMap* GetImplFontCharMap() const = 0; + virtual const ImplFontCharMap* GetImplFontCharMap() const = 0; // graphics must fill supplied font list virtual void GetDevFontList( ImplDevFontList* ) = 0; // graphics should call ImplAddDevFontSubstitute on supplied diff --git a/vcl/os2/inc/salgdi.h b/vcl/os2/inc/salgdi.h index cf05ff15d7e2..94b2b98b4183 100644 --- a/vcl/os2/inc/salgdi.h +++ b/vcl/os2/inc/salgdi.h @@ -74,7 +74,7 @@ public: bool AliasSymbolsHigh() const { return mbAliasSymbolsHigh; } bool AliasSymbolsLow() const { return mbAliasSymbolsLow; } - ImplFontCharMap* GetImplFontCharMap() const; + const ImplFontCharMap* GetImplFontCharMap() const; private: sal_IntPtr mnId; @@ -82,7 +82,7 @@ private: mutable bool mbHasKoreanRange; mutable bool mbHasCJKSupport; - mutable ImplFontCharMap* mpUnicodeMap; + mutable const ImplFontCharMap* mpUnicodeMap; // TODO: get rid of the members below needed to work with the Win9x non-unicode API BYTE* mpFontCharSets; // all Charsets for the current font (used on W98 for kerning) diff --git a/vcl/os2/source/gdi/salgdi3.cxx b/vcl/os2/source/gdi/salgdi3.cxx index e25e68ee5a4c..0e4cb1d58b0f 100644 --- a/vcl/os2/source/gdi/salgdi3.cxx +++ b/vcl/os2/source/gdi/salgdi3.cxx @@ -434,9 +434,8 @@ bool ImplOs2FontData::IsGSUBstituted( sal_Ucs cChar ) const // ----------------------------------------------------------------------- -ImplFontCharMap* ImplOs2FontData::GetImplFontCharMap() const +const ImplFontCharMap* ImplOs2FontData::GetImplFontCharMap() const { - mpUnicodeMap->AddReference(); return mpUnicodeMap; } @@ -592,6 +591,7 @@ void ImplOs2FontData::ReadCmapTable( HPS hPS ) const aResult.mpPairCodes, aResult.mpStartGlyphs ); else mpUnicodeMap = ImplFontCharMap::GetDefaultMap(); + mpUnicodeMap->AddReference(); } // ======================================================================= @@ -999,10 +999,10 @@ ULONG Os2SalGraphics::GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ) // ----------------------------------------------------------------------- -static ImplFontCharMap* pOs2DefaultImplFontCharMap = NULL; +static const ImplFontCharMap* pOs2DefaultImplFontCharMap = NULL; static const sal_uInt32 pOs2DefaultRangeCodes[] = {0x0020,0x00FF}; -ImplFontCharMap* Os2SalGraphics::GetImplFontCharMap() const +const ImplFontCharMap* Os2SalGraphics::GetImplFontCharMap() const { if( !mpOs2FontData[0] ) return ImplFontCharMap::GetDefaultMap(); @@ -1705,7 +1705,7 @@ void Os2SalGraphics::GetGlyphWidths( const ImplFontData* pFont, rUnicodeEnc.clear(); } const ImplOs2FontData* pWinFont = static_cast<const ImplOs2FontData*>(pFont); - ImplFontCharMap* pMap = pWinFont->GetImplFontCharMap(); + const ImplFontCharMap* pMap = pWinFont->GetImplFontCharMap(); DBG_ASSERT( pMap && pMap->GetCharCount(), "no map" ); int nCharCount = pMap->GetCharCount(); diff --git a/vcl/prj/d.lst b/vcl/prj/d.lst index d0baec53b720..441bf2e265d5 100644 --- a/vcl/prj/d.lst +++ b/vcl/prj/d.lst @@ -154,3 +154,4 @@ mkdir: %_DEST%\inc%_EXT%\vcl ..\inc\vcl\helper.hxx %_DEST%\inc%_EXT%\vcl\helper.hxx ..\inc\vcl\strhelper.hxx %_DEST%\inc%_EXT%\vcl\strhelper.hxx ..\inc\vcl\lazydelete.hxx %_DEST%\inc%_EXT%\vcl\lazydelete.hxx +..\%__SRC%\misc\vcl.component %_DEST%\xml%_EXT%\vcl.component diff --git a/vcl/source/components/factory.cxx b/vcl/source/components/factory.cxx index 6bed493cacde..c4debea79001 100644 --- a/vcl/source/components/factory.cxx +++ b/vcl/source/components/factory.cxx @@ -84,62 +84,6 @@ extern "C" { *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } - VCL_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pXUnoKey ) - { - if( pXUnoKey ) - { - try - { - Reference< ::com::sun::star::registry::XRegistryKey > xKey( reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( pXUnoKey ) ); - - OUStringBuffer aImplName(64); - aImplName.appendAscii( "/" ); - aImplName.append( vcl_session_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl_session_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - - aImplName.appendAscii( "/" ); - aImplName.append( vcl::DisplayAccess_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl::DisplayAccess_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - - aImplName.appendAscii( "/" ); - aImplName.append( vcl::FontIdentificator_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl::FontIdentificator_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - - #if defined UNX - aImplName.appendAscii( "/" ); - aImplName.append( vcl::Clipboard_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl::Clipboard_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - - aImplName.appendAscii( "/" ); - aImplName.append( vcl::DragSource_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl::DragSource_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - - aImplName.appendAscii( "/" ); - aImplName.append( vcl::DropTarget_getImplementationName() ); - aImplName.appendAscii( "/UNO/SERVICES/" ); - aImplName.append( vcl::DropTarget_getSupportedServiceNames()[0] ); - xKey->createKey( aImplName.makeStringAndClear() ); - #endif - - return sal_True; - } - catch( ::com::sun::star::registry::InvalidRegistryException& ) - { - } - } - return sal_False; - } - VCL_DLLPUBLIC void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pXUnoSMgr, diff --git a/vcl/source/gdi/metric.cxx b/vcl/source/gdi/metric.cxx index dffc7c82caf0..6d225ad7e0dc 100644 --- a/vcl/source/gdi/metric.cxx +++ b/vcl/source/gdi/metric.cxx @@ -34,6 +34,8 @@ #include <vector> #include <set> +#include <cstdio> + // ======================================================================= ImplFontMetric::ImplFontMetric() @@ -51,6 +53,7 @@ ImplFontMetric::ImplFontMetric() inline void ImplFontMetric::AddReference() { + // TODO: disable refcounting on the default maps? ++mnRefCount; } @@ -58,6 +61,7 @@ inline void ImplFontMetric::AddReference() inline void ImplFontMetric::DeReference() { + // TODO: disable refcounting on the default maps? if( --mnRefCount <= 0 ) delete this; } @@ -252,7 +256,7 @@ ImplFontCharMap::ImplFontCharMap( const CmapResult& rCR ) , mpGlyphIds( rCR.mpGlyphIds ) , mnRangeCount( rCR.mnRangeCount ) , mnCharCount( 0 ) -, mnRefCount( 1 ) +, mnRefCount( 0 ) { const sal_uInt32* pRangePtr = mpRangeCodes; for( int i = mnRangeCount; --i >= 0; pRangePtr += 2 ) @@ -285,7 +289,7 @@ ImplFontCharMap::~ImplFontCharMap() delete[] mpRangeCodes; delete[] mpStartGlyphs; delete[] mpGlyphIds; -} + } // ----------------------------------------------------------------------- @@ -293,14 +297,13 @@ namespace { ImplFontCharMap *GetDefaultUnicodeMap() { - if( pDefaultUnicodeImplFontCharMap ) - pDefaultUnicodeImplFontCharMap->AddReference(); - else + if( !pDefaultUnicodeImplFontCharMap ) { const sal_uInt32* pRangeCodes = aDefaultUnicodeRanges; int nCodesCount = sizeof(aDefaultUnicodeRanges) / sizeof(*pRangeCodes); CmapResult aDefaultCR( false, pRangeCodes, nCodesCount/2 ); pDefaultUnicodeImplFontCharMap = new ImplFontCharMap( aDefaultCR ); + pDefaultUnicodeImplFontCharMap->AddReference(); } return pDefaultUnicodeImplFontCharMap; @@ -308,14 +311,13 @@ namespace ImplFontCharMap *GetDefaultSymbolMap() { - if( pDefaultSymbolImplFontCharMap ) - pDefaultSymbolImplFontCharMap->AddReference(); - else + if( !pDefaultSymbolImplFontCharMap ) { const sal_uInt32* pRangeCodes = aDefaultSymbolRanges; int nCodesCount = sizeof(aDefaultSymbolRanges) / sizeof(*pRangeCodes); CmapResult aDefaultCR( true, pRangeCodes, nCodesCount/2 ); pDefaultSymbolImplFontCharMap = new ImplFontCharMap( aDefaultCR ); + pDefaultSymbolImplFontCharMap->AddReference(); } return pDefaultSymbolImplFontCharMap; @@ -329,14 +331,15 @@ ImplFontCharMap* ImplFontCharMap::GetDefaultMap( bool bSymbols) // ----------------------------------------------------------------------- -void ImplFontCharMap::AddReference() +void ImplFontCharMap::AddReference( void ) const { + // TODO: disable refcounting on the default maps? ++mnRefCount; } // ----------------------------------------------------------------------- -void ImplFontCharMap::DeReference() +void ImplFontCharMap::DeReference( void ) const { if( --mnRefCount <= 0 ) if( (this != pDefaultUnicodeImplFontCharMap) && (this != pDefaultSymbolImplFontCharMap) ) @@ -833,7 +836,9 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult ) FontCharMap::FontCharMap() : mpImpl( ImplFontCharMap::GetDefaultMap() ) -{} +{ + mpImpl->AddReference(); +} // ----------------------------------------------------------------------- @@ -859,19 +864,14 @@ int FontCharMap::CountCharsInRange( sal_uInt32 cMin, sal_uInt32 cMax ) const // ----------------------------------------------------------------------- -void FontCharMap::Reset( ImplFontCharMap* pNewMap ) +void FontCharMap::Reset( const ImplFontCharMap* pNewMap ) { + mpImpl->DeReference(); if( pNewMap == NULL ) - { - mpImpl->DeReference(); mpImpl = ImplFontCharMap::GetDefaultMap(); - } else if( pNewMap != mpImpl ) - { - mpImpl->DeReference(); mpImpl = pNewMap; - mpImpl->AddReference(); - } + mpImpl->AddReference(); } // ----------------------------------------------------------------------- diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx index 63bc233ef4e0..34d86b842ba2 100644 --- a/vcl/source/gdi/outdev3.cxx +++ b/vcl/source/gdi/outdev3.cxx @@ -8017,7 +8017,7 @@ BOOL OutputDevice::GetFontCharMap( FontCharMap& rFontCharMap ) const if( !mpFontEntry ) return FALSE; - // a little font charmap cache helps considerably +#ifdef ENABLE_IFC_CACHE // a little font charmap cache helps considerably static const int NMAXITEMS = 16; static int nUsedItems = 0, nCurItem = 0; @@ -8035,10 +8035,12 @@ BOOL OutputDevice::GetFontCharMap( FontCharMap& rFontCharMap ) const rFontCharMap.Reset( aCache[i].maCharMap.mpImpl ); } else // need to cache +#endif // ENABLE_IFC_CACHE { - ImplFontCharMap* pNewMap = mpGraphics->GetImplFontCharMap(); + const ImplFontCharMap* pNewMap = mpGraphics->GetImplFontCharMap(); rFontCharMap.Reset( pNewMap ); +#ifdef ENABLE_IFC_CACHE // manage cache round-robin and insert data CharMapCacheItem& rItem = aCache[ nCurItem ]; rItem.mpFontData = pFontData; @@ -8049,6 +8051,7 @@ BOOL OutputDevice::GetFontCharMap( FontCharMap& rFontCharMap ) const if( ++nUsedItems >= NMAXITEMS ) nUsedItems = NMAXITEMS; +#endif // ENABLE_IFC_CACHE } if( rFontCharMap.IsDefaultMap() ) diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 09cf1734eb6f..7e023297fa74 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -8500,6 +8500,7 @@ void PDFWriterImpl::beginRedirect( SvStream* pStream, const Rectangle& rTargetRe { push( PUSH_ALL ); + // force reemitting clip region clearClipRegion(); updateGraphicsState(); @@ -8543,7 +8544,10 @@ SvStream* PDFWriterImpl::endRedirect() } pop(); - // force reemitting colors + // force reemitting colors and clip region + clearClipRegion(); + m_aCurrentPDFState.m_bClipRegion = m_aGraphicsStack.front().m_bClipRegion; + m_aCurrentPDFState.m_aClipRegion = m_aGraphicsStack.front().m_aClipRegion; m_aCurrentPDFState.m_aLineColor = Color( COL_TRANSPARENT ); m_aCurrentPDFState.m_aFillColor = Color( COL_TRANSPARENT ); diff --git a/vcl/source/glyphs/gcach_ftyp.cxx b/vcl/source/glyphs/gcach_ftyp.cxx index aeb928c46608..601e46411cd8 100644 --- a/vcl/source/glyphs/gcach_ftyp.cxx +++ b/vcl/source/glyphs/gcach_ftyp.cxx @@ -301,6 +301,7 @@ FtFontInfo::FtFontInfo( const ImplDevFontAttributes& rDevFontAttributes, mnSynthetic( nSynthetic ), mnFontId( nFontId ), maDevFontAttributes( rDevFontAttributes ), + mpFontCharMap( NULL ), mpChar2Glyph( NULL ), mpGlyph2Char( NULL ), mpExtraKernInfo( pExtraKernInfo ) @@ -318,6 +319,8 @@ FtFontInfo::FtFontInfo( const ImplDevFontAttributes& rDevFontAttributes, FtFontInfo::~FtFontInfo() { + if( mpFontCharMap ) + mpFontCharMap->DeReference(); delete mpExtraKernInfo; delete mpChar2Glyph; delete mpGlyph2Char; @@ -520,10 +523,25 @@ void* FreetypeServerFont::GetFtFace() const FreetypeManager::~FreetypeManager() { -// This crashes on Solaris 10 -// TODO: check which versions have this problem -// -// FT_Error rcFT = FT_Done_FreeType( aLibFT ); + // an application about to exit can omit garbage collecting the heap + // since it makes things slower and introduces risks if the heap was not perfect + // for debugging, for memory grinding or leak checking the env allows to force GC + const char* pEnv = getenv( "SAL_FORCE_GC_ON_EXIT" ); + if( pEnv && (*pEnv != '0') ) + { + // cleanup container of fontinfos + for( FontList::const_iterator it = maFontList.begin(); it != maFontList.end(); ++it ) + { + FtFontInfo* pInfo = (*it).second; + delete pInfo; + } + maFontList.clear(); + +#if 0 // FT_Done_FreeType crashes on Solaris 10 + // TODO: check which versions have this problem + FT_Error rcFT = FT_Done_FreeType( aLibFT ); +#endif + } } // ----------------------------------------------------------------------- @@ -1733,16 +1751,39 @@ bool FreetypeServerFont::GetGlyphBitmap8( int nGlyphIndex, RawBitmap& rRawBitmap // determine unicode ranges in font // ----------------------------------------------------------------------- -// TODO: replace with GetFontCharMap() -bool FreetypeServerFont::GetFontCodeRanges( CmapResult& rResult ) const +const ImplFontCharMap* FreetypeServerFont::GetImplFontCharMap( void ) const +{ + const ImplFontCharMap* pIFCMap = mpFontInfo->GetImplFontCharMap(); + return pIFCMap; +} + +const ImplFontCharMap* FtFontInfo::GetImplFontCharMap( void ) +{ + // check if the charmap is already cached + if( mpFontCharMap ) + return mpFontCharMap; + + // get the charmap and cache it + CmapResult aCmapResult; + bool bOK = GetFontCodeRanges( aCmapResult ); + if( bOK ) + mpFontCharMap = new ImplFontCharMap( aCmapResult ); + else + mpFontCharMap = ImplFontCharMap::GetDefaultMap(); + mpFontCharMap->AddReference(); + return mpFontCharMap; +} + +// TODO: merge into method GetFontCharMap() +bool FtFontInfo::GetFontCodeRanges( CmapResult& rResult ) const { - rResult.mbSymbolic = mpFontInfo->IsSymbolFont(); + rResult.mbSymbolic = IsSymbolFont(); // TODO: is the full CmapResult needed on platforms calling this? if( FT_IS_SFNT( maFaceFT ) ) { ULONG nLength = 0; - const unsigned char* pCmap = mpFontInfo->GetTable( "cmap", &nLength ); + const unsigned char* pCmap = GetTable( "cmap", &nLength ); if( pCmap && (nLength > 0) ) if( ParseCMAP( pCmap, nLength, rResult ) ) return true; diff --git a/vcl/source/glyphs/gcach_ftyp.hxx b/vcl/source/glyphs/gcach_ftyp.hxx index 5ebe70bcbdf9..d760ce1d1fed 100644 --- a/vcl/source/glyphs/gcach_ftyp.hxx +++ b/vcl/source/glyphs/gcach_ftyp.hxx @@ -94,6 +94,9 @@ public: int GetGlyphIndex( sal_UCS4 cChar ) const; void CacheGlyphIndex( sal_UCS4 cChar, int nGI ) const; + bool GetFontCodeRanges( CmapResult& ) const; + const ImplFontCharMap* GetImplFontCharMap( void ); + bool HasExtraKerning() const; int GetExtraKernPairs( ImplKernPairData** ) const; int GetExtraGlyphKernValue( int nLeftGlyph, int nRightGlyph ) const; @@ -108,6 +111,8 @@ private: sal_IntPtr mnFontId; ImplDevFontAttributes maDevFontAttributes; + const ImplFontCharMap* mpFontCharMap; + // cache unicode->glyphid mapping because looking it up is expensive // TODO: change to hash_multimap when a use case requires a m:n mapping typedef ::std::hash_map<int,int> Int2IntMap; @@ -181,6 +186,7 @@ public: virtual bool NeedsArtificialItalic() const { return mbArtItalic; } virtual void FetchFontMetric( ImplFontMetricData&, long& rFactor ) const; + virtual const ImplFontCharMap* GetImplFontCharMap( void ) const; virtual int GetGlyphIndex( sal_UCS4 ) const; int GetRawGlyphIndex( sal_UCS4 ) const; @@ -203,7 +209,6 @@ protected: int ApplyGlyphTransform( int nGlyphFlags, FT_GlyphRec_*, bool ) const; virtual void InitGlyphData( int nGlyphIndex, GlyphData& ) const; - virtual bool GetFontCodeRanges( CmapResult& ) const; bool ApplyGSUB( const ImplFontSelectData& ); virtual ServerFontLayoutEngine* GetLayoutEngine(); diff --git a/vcl/source/glyphs/glyphcache.cxx b/vcl/source/glyphs/glyphcache.cxx index 1953ecf553c4..7181db56dd4d 100644 --- a/vcl/source/glyphs/glyphcache.cxx +++ b/vcl/source/glyphs/glyphcache.cxx @@ -78,12 +78,18 @@ GlyphCache::~GlyphCache() void GlyphCache::InvalidateAllGlyphs() { -#if 0 // TODO: implement uncaching of all glyph shapes and metrics - for( FontList::iterator it = maFontList.begin(); it != maFontList.end(); ++it ) - delete const_cast<ServerFont*>( it->second ); - maFontList.clear(); - mpCurrentGCFont = NULL; -#endif + // an application about to exit can omit garbage collecting the heap + // since it makes things slower and introduces risks if the heap was not perfect + // for debugging, for memory grinding or leak checking the env allows to force GC + const char* pEnv = getenv( "SAL_FORCE_GC_ON_EXIT" ); + if( pEnv && (*pEnv != '0') ) + { + // uncache of all glyph shapes and metrics + for( FontList::iterator it = maFontList.begin(); it != maFontList.end(); ++it ) + delete const_cast<ServerFont*>( it->second ); + maFontList.clear(); + mpCurrentGCFont = NULL; + } } // ----------------------------------------------------------------------- diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx index 64f2b7e0d2a1..055b7e9fe80b 100644 --- a/vcl/source/window/dlgctrl.cxx +++ b/vcl/source/window/dlgctrl.cxx @@ -1058,29 +1058,10 @@ static sal_Unicode getAccel( const String& rStr ) return nChar; } -Window* Window::GetLabelFor() const +static Window* ImplGetLabelFor( Window* pFrameWindow, WindowType nMyType, Window* pLabel, sal_Unicode nAccel ) { - if ( mpWindowImpl->mbDisableAccessibleLabelForRelation ) - return NULL; - Window* pWindow = NULL; - Window* pFrameWindow = ImplGetFrameWindow(); - - WinBits nFrameStyle = pFrameWindow->GetStyle(); - if( ! ( nFrameStyle & WB_DIALOGCONTROL ) - || ( nFrameStyle & WB_NODIALOGCONTROL ) - ) - return NULL; - - if ( mpWindowImpl->mpRealParent ) - pWindow = mpWindowImpl->mpRealParent->GetParentLabelFor( this ); - - if( pWindow ) - return pWindow; - sal_Unicode nAccel = getAccel( GetText() ); - - WindowType nMyType = GetType(); if( nMyType == WINDOW_FIXEDTEXT || nMyType == WINDOW_FIXEDLINE || nMyType == WINDOW_GROUPBOX ) @@ -1092,7 +1073,7 @@ Window* Window::GetLabelFor() const // get index, form start and form end USHORT nIndex=0, nFormStart=0, nFormEnd=0; pSWindow = ::ImplFindDlgCtrlWindow( pFrameWindow, - const_cast<Window*>(this), + pLabel, nIndex, nFormStart, nFormEnd ); @@ -1139,32 +1120,39 @@ Window* Window::GetLabelFor() const return pWindow; } -// ----------------------------------------------------------------------- - -Window* Window::GetLabeledBy() const +Window* Window::GetLabelFor() const { - if ( mpWindowImpl->mbDisableAccessibleLabeledByRelation ) + if ( mpWindowImpl->mbDisableAccessibleLabelForRelation ) return NULL; Window* pWindow = NULL; Window* pFrameWindow = ImplGetFrameWindow(); + WinBits nFrameStyle = pFrameWindow->GetStyle(); + if( ! ( nFrameStyle & WB_DIALOGCONTROL ) + || ( nFrameStyle & WB_NODIALOGCONTROL ) + ) + return NULL; + if ( mpWindowImpl->mpRealParent ) - pWindow = mpWindowImpl->mpRealParent->GetParentLabeledBy( this ); + pWindow = mpWindowImpl->mpRealParent->GetParentLabelFor( this ); if( pWindow ) return pWindow; - // #i62723#, #104191# checkboxes and radiobuttons are not supposed to have labels - if( GetType() == WINDOW_CHECKBOX || GetType() == WINDOW_RADIOBUTTON ) - return NULL; + sal_Unicode nAccel = getAccel( GetText() ); -// if( ! ( GetType() == WINDOW_FIXEDTEXT || -// GetType() == WINDOW_FIXEDLINE || -// GetType() == WINDOW_GROUPBOX ) ) - // #i100833# MT 2010/02: Group box and fixed lines can also lable a fixed text. - // See tools/options/print for example. - WindowType nMyType = GetType(); + pWindow = ImplGetLabelFor( pFrameWindow, GetType(), const_cast<Window*>(this), nAccel ); + if( ! pWindow && mpWindowImpl->mpRealParent ) + pWindow = ImplGetLabelFor( mpWindowImpl->mpRealParent, GetType(), const_cast<Window*>(this), nAccel ); + return pWindow; +} + +// ----------------------------------------------------------------------- + +static Window* ImplGetLabeledBy( Window* pFrameWindow, WindowType nMyType, Window* pLabeled ) +{ + Window* pWindow = NULL; if ( (nMyType != WINDOW_GROUPBOX) && (nMyType != WINDOW_FIXEDLINE) ) { // search for a control that labels this window @@ -1176,16 +1164,16 @@ Window* Window::GetLabeledBy() const // get form start and form end and index of this control USHORT nIndex, nFormStart, nFormEnd; Window* pSWindow = ::ImplFindDlgCtrlWindow( pFrameWindow, - const_cast<Window*>(this), + pLabeled, nIndex, nFormStart, nFormEnd ); if( pSWindow && nIndex != nFormStart ) { - if( GetType() == WINDOW_PUSHBUTTON || - GetType() == WINDOW_HELPBUTTON || - GetType() == WINDOW_OKBUTTON || - GetType() == WINDOW_CANCELBUTTON ) + if( nMyType == WINDOW_PUSHBUTTON || + nMyType == WINDOW_HELPBUTTON || + nMyType == WINDOW_OKBUTTON || + nMyType == WINDOW_CANCELBUTTON ) { nFormStart = nIndex-1; } @@ -1217,6 +1205,39 @@ Window* Window::GetLabeledBy() const return pWindow; } +Window* Window::GetLabeledBy() const +{ + if ( mpWindowImpl->mbDisableAccessibleLabeledByRelation ) + return NULL; + + Window* pWindow = NULL; + Window* pFrameWindow = ImplGetFrameWindow(); + + if ( mpWindowImpl->mpRealParent ) + { + pWindow = mpWindowImpl->mpRealParent->GetParentLabeledBy( this ); + + if( pWindow ) + return pWindow; + } + + // #i62723#, #104191# checkboxes and radiobuttons are not supposed to have labels + if( GetType() == WINDOW_CHECKBOX || GetType() == WINDOW_RADIOBUTTON ) + return NULL; + +// if( ! ( GetType() == WINDOW_FIXEDTEXT || +// GetType() == WINDOW_FIXEDLINE || +// GetType() == WINDOW_GROUPBOX ) ) + // #i100833# MT 2010/02: Group box and fixed lines can also lable a fixed text. + // See tools/options/print for example. + + pWindow = ImplGetLabeledBy( pFrameWindow, GetType(), const_cast<Window*>(this) ); + if( ! pWindow && mpWindowImpl->mpRealParent ) + pWindow = ImplGetLabeledBy( mpWindowImpl->mpRealParent, GetType(), const_cast<Window*>(this) ); + + return pWindow; +} + // ----------------------------------------------------------------------- KeyEvent Window::GetActivationKey() const diff --git a/vcl/unx/headless/svpgdi.hxx b/vcl/unx/headless/svpgdi.hxx index 1ad9eca9d272..93ec080d0136 100644 --- a/vcl/unx/headless/svpgdi.hxx +++ b/vcl/unx/headless/svpgdi.hxx @@ -88,7 +88,7 @@ public: virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel ); virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel ); virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ); - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; virtual void GetDevFontList( ImplDevFontList* ); virtual void GetDevFontSubstList( OutputDevice* ); virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName ); diff --git a/vcl/unx/headless/svppspgraphics.cxx b/vcl/unx/headless/svppspgraphics.cxx index 86f356031f52..c7b1f4f41fca 100644 --- a/vcl/unx/headless/svppspgraphics.cxx +++ b/vcl/unx/headless/svppspgraphics.cxx @@ -683,16 +683,13 @@ void PspGraphics::DrawServerFontLayout( const ServerFontLayout& rLayout ) DrawPrinterLayout( rLayout, *m_pPrinterGfx, true ); } -ImplFontCharMap* PspGraphics::GetImplFontCharMap() const +const ImplFontCharMap* PspGraphics::GetImplFontCharMap() const { - // TODO: get ImplFontCharMap directly from fonts if( !m_pServerFont[0] ) return NULL; - CmapResult aCmapResult; - if( !m_pServerFont[0]->GetFontCodeRanges( aCmapResult ) ) - return NULL; - return new ImplFontCharMap( aCmapResult ); + const ImplFontCharMap* pIFCMap = m_pServerFont[0]->GetImplFontCharMap(); + return pIFCMap; } USHORT PspGraphics::SetFont( ImplFontSelectData *pEntry, int nFallbackLevel ) diff --git a/vcl/unx/headless/svppspgraphics.hxx b/vcl/unx/headless/svppspgraphics.hxx index 987923eb40ff..138198239621 100644 --- a/vcl/unx/headless/svppspgraphics.hxx +++ b/vcl/unx/headless/svppspgraphics.hxx @@ -107,7 +107,7 @@ public: virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel ); virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel ); virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ); - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; virtual void GetDevFontList( ImplDevFontList* ); virtual void GetDevFontSubstList( OutputDevice* ); virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName ); diff --git a/vcl/unx/headless/svptext.cxx b/vcl/unx/headless/svptext.cxx index 34941fc777db..dff1fd4d6ca7 100644 --- a/vcl/unx/headless/svptext.cxx +++ b/vcl/unx/headless/svptext.cxx @@ -272,15 +272,13 @@ ULONG SvpSalGraphics::GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ) // --------------------------------------------------------------------------- -ImplFontCharMap* SvpSalGraphics::GetImplFontCharMap() const +const ImplFontCharMap* SvpSalGraphics::GetImplFontCharMap() const { if( !m_pServerFont[0] ) return NULL; - CmapResult aCmapResult; - if( !m_pServerFont[0]->GetFontCodeRanges( aCmapResult ) ) - return NULL; - return new ImplFontCharMap( aCmapResult ); + const ImplFontCharMap* pIFCMap = m_pServerFont[0]->GetImplFontCharMap(); + return pIFCMap; } // --------------------------------------------------------------------------- diff --git a/vcl/unx/inc/pspgraphics.h b/vcl/unx/inc/pspgraphics.h index a91029e34580..d4f5a9f156e0 100644 --- a/vcl/unx/inc/pspgraphics.h +++ b/vcl/unx/inc/pspgraphics.h @@ -104,7 +104,7 @@ public: virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel ); virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel ); virtual ULONG GetKernPairs( ULONG nMaxPairs, ImplKernPairData* ); - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; virtual void GetDevFontList( ImplDevFontList* ); virtual void GetDevFontSubstList( OutputDevice* ); virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName ); diff --git a/vcl/unx/inc/salgdi.h b/vcl/unx/inc/salgdi.h index 33e6be054d48..b5fdce50eee9 100644 --- a/vcl/unx/inc/salgdi.h +++ b/vcl/unx/inc/salgdi.h @@ -255,7 +255,7 @@ public: virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel ); virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel ); virtual ULONG GetKernPairs( ULONG nMaxPairs, ImplKernPairData* ); - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; virtual void GetDevFontList( ImplDevFontList* ); virtual void GetDevFontSubstList( OutputDevice* ); virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName ); diff --git a/vcl/unx/source/gdi/pspgraphics.cxx b/vcl/unx/source/gdi/pspgraphics.cxx index 220d7bbcae87..bab78b0cb2df 100644 --- a/vcl/unx/source/gdi/pspgraphics.cxx +++ b/vcl/unx/source/gdi/pspgraphics.cxx @@ -694,7 +694,7 @@ void PspServerFontLayout::InitFont() const static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx, bool bIsPspServerFontLayout ) { const int nMaxGlyphs = 200; - sal_GlyphId aGlyphAry[ nMaxGlyphs ]; + sal_uInt32 aGlyphAry[ nMaxGlyphs ]; // TODO: use sal_GlyphId sal_Int32 aWidthAry[ nMaxGlyphs ]; sal_Int32 aIdxAry [ nMaxGlyphs ]; sal_Unicode aUnicodes[ nMaxGlyphs ]; @@ -720,15 +720,20 @@ static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx #ifdef ENABLE_GRAPHITE else if (pGrLayout) { + #if 0 // HACK: disabled for now due to #i114460#, see #desc12 there + // TODO: get rid of glyph->string mapping altogether for printing + // TODO: fix GraphiteServerFontLayout's returned aCharPosAry + // TODO: fix PrinterGfx's caching? pText = pGrLayout->getTextPtr(); nMinCharPos = pGrLayout->getMinCharPos(); nMaxCharPos = pGrLayout->getMaxCharPos(); + #endif } #endif } for( int nStart = 0;; ) { - int nGlyphCount = rLayout.GetNextGlyphs( nMaxGlyphs, aGlyphAry, aPos, nStart, aWidthAry, bIsPspServerFontLayout ? aCharPosAry : NULL ); + int nGlyphCount = rLayout.GetNextGlyphs( nMaxGlyphs, aGlyphAry, aPos, nStart, aWidthAry, pText ? aCharPosAry : NULL ); if( !nGlyphCount ) break; @@ -738,7 +743,7 @@ static void DrawPrinterLayout( const SalLayout& rLayout, ::psp::PrinterGfx& rGfx nXOffset += aWidthAry[ i ]; aIdxAry[ i ] = nXOffset / nUnitsPerPixel; sal_Int32 nGlyphIdx = aGlyphAry[i] & (GF_IDXMASK | GF_ROTMASK); - if( bIsPspServerFontLayout ) + if( pText ) aUnicodes[i] = (aCharPosAry[i] >= nMinCharPos && aCharPosAry[i] <= nMaxCharPos) ? pText[ aCharPosAry[i] ] : 0; else aUnicodes[i] = (aGlyphAry[i] & GF_ISCHAR) ? nGlyphIdx : 0; @@ -770,16 +775,13 @@ void PspGraphics::DrawServerFontLayout( const ServerFontLayout& rLayout ) DrawPrinterLayout( rLayout, *m_pPrinterGfx, true ); } -ImplFontCharMap* PspGraphics::GetImplFontCharMap() const +const ImplFontCharMap* PspGraphics::GetImplFontCharMap() const { - // TODO: get ImplFontCharMap directly from fonts if( !m_pServerFont[0] ) return NULL; - CmapResult aCmapResult; - if( !m_pServerFont[0]->GetFontCodeRanges( aCmapResult ) ) - return NULL; - return new ImplFontCharMap( aCmapResult ); + const ImplFontCharMap* pIFCMap = m_pServerFont[0]->GetImplFontCharMap(); + return pIFCMap; } USHORT PspGraphics::SetFont( ImplFontSelectData *pEntry, int nFallbackLevel ) diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx index 16529d3ce78f..62e575ebc5ef 100644 --- a/vcl/unx/source/gdi/salgdi3.cxx +++ b/vcl/unx/source/gdi/salgdi3.cxx @@ -1494,20 +1494,13 @@ void X11SalGraphics::DrawStringUCS2MB( ExtendedFontStruct& rFont, //-------------------------------------------------------------------------- -ImplFontCharMap* X11SalGraphics::GetImplFontCharMap() const +const ImplFontCharMap* X11SalGraphics::GetImplFontCharMap() const { - // TODO: get ImplFontCharMap directly from fonts if( !mpServerFont[0] ) -#if 0 // RIP XLFD fonts - if( mXFont[0] ) - // TODO?: nPairCount = mXFont[0]->GetFontCodeRanges( NULL ); -#endif return NULL; - CmapResult aCmapResult; - if( !mpServerFont[0]->GetFontCodeRanges( aCmapResult ) ) - return NULL; - return new ImplFontCharMap( aCmapResult ); + const ImplFontCharMap* pIFCMap = mpServerFont[0]->GetImplFontCharMap(); + return pIFCMap; } // ---------------------------------------------------------------------------- diff --git a/vcl/util/makefile.mk b/vcl/util/makefile.mk index b864b7cb2685..d21e9dcb3eed 100644 --- a/vcl/util/makefile.mk +++ b/vcl/util/makefile.mk @@ -391,9 +391,6 @@ SHL4STDLIBS+= $(XRANDR_LIBS) .ENDIF .ENDIF -.IF "$(OS)$(CPU)" == "LINUXX" && "$(LIBRARY_PATH)" != "" -EXTRALIBPATHS+=-L$(LIBRARY_PATH) -.ENDIF # "$(OS)$(CPU)" == "LINUXX" .ENDIF # "$(ENABLE_GTK)" != "" # KDE plugin @@ -464,3 +461,16 @@ SHL6STDLIBS+= $(XRANDR_LIBS) .INCLUDE : target.mk +ALLTAR : $(MISC)/vcl.component + +.IF "$(OS)" == "MACOSX" +my_platform = .macosx +.ELIF "$(OS)" == "WNT" +my_platform = .windows +.END + +$(MISC)/vcl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + vcl.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt vcl$(my_platform).component diff --git a/vcl/util/vcl.component b/vcl/util/vcl.component new file mode 100644 index 000000000000..da20fc916c32 --- /dev/null +++ b/vcl/util/vcl.component @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.datatransfer.X11ClipboardSupport"> + <service name="com.sun.star.datatransfer.clipboard.SystemClipboard"/> + </implementation> + <implementation name="com.sun.star.datatransfer.dnd.XdndDropTarget"> + <service name="com.sun.star.datatransfer.dnd.X11DropTarget"/> + </implementation> + <implementation name="com.sun.star.datatransfer.dnd.XdndSupport"> + <service name="com.sun.star.datatransfer.dnd.X11DragSource"/> + </implementation> + <implementation name="com.sun.star.frame.VCLSessionManagerClient"> + <service name="com.sun.star.frame.SessionManagerClient"/> + </implementation> + <implementation name="vcl::DisplayAccess"> + <service name="com.sun.star.awt.DisplayAccess"/> + </implementation> + <implementation name="vcl::FontIdentificator"> + <service name="com.sun.star.awt.FontIdentificator"/> + </implementation> +</component> diff --git a/vcl/util/vcl.macosx.component b/vcl/util/vcl.macosx.component new file mode 100644 index 000000000000..3aabcd8c7050 --- /dev/null +++ b/vcl/util/vcl.macosx.component @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.datatransfer.dnd.OleDragSource_V1"> + <service name="com.sun.star.datatransfer.dnd.OleDragSource"/> + </implementation> + <implementation name="com.sun.star.comp.datatransfer.dnd.OleDropTarget_V1"> + <service name="com.sun.star.datatransfer.dnd.OleDropTarget"/> + </implementation> + <implementation name="com.sun.star.datatransfer.clipboard.AquaClipboard"> + <service name="com.sun.star.datatransfer.clipboard.SystemClipboard"/> + </implementation> + <implementation name="com.sun.star.frame.VCLSessionManagerClient"> + <service name="com.sun.star.frame.SessionManagerClient"/> + </implementation> + <implementation name="vcl::DisplayAccess"> + <service name="com.sun.star.awt.DisplayAccess"/> + </implementation> + <implementation name="vcl::FontIdentificator"> + <service name="com.sun.star.awt.FontIdentificator"/> + </implementation> +</component> diff --git a/vcl/util/vcl.windows.component b/vcl/util/vcl.windows.component new file mode 100644 index 000000000000..72f7ace9f251 --- /dev/null +++ b/vcl/util/vcl.windows.component @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* 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. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.frame.VCLSessionManagerClient"> + <service name="com.sun.star.frame.SessionManagerClient"/> + </implementation> + <implementation name="vcl::DisplayAccess"> + <service name="com.sun.star.awt.DisplayAccess"/> + </implementation> + <implementation name="vcl::FontIdentificator"> + <service name="com.sun.star.awt.FontIdentificator"/> + </implementation> +</component> diff --git a/vcl/win/inc/salgdi.h b/vcl/win/inc/salgdi.h index 5b8cfb099756..f592f53ae29c 100755 --- a/vcl/win/inc/salgdi.h +++ b/vcl/win/inc/salgdi.h @@ -57,10 +57,10 @@ class ImplFontAttrCache; class ImplWinFontData : public ImplFontData { public: - ImplWinFontData( const ImplDevFontAttributes&, + explicit ImplWinFontData( const ImplDevFontAttributes&, int nFontHeight, WIN_BYTE eWinCharSet, WIN_BYTE nPitchAndFamily ); - ~ImplWinFontData(); + virtual ~ImplWinFontData(); virtual ImplFontData* Clone() const; virtual ImplFontEntry* CreateFontInstance( ImplFontSelectData& ) const; @@ -82,7 +82,7 @@ public: bool SupportsGraphite() const { return mbHasGraphiteSupport; } #endif - ImplFontCharMap* GetImplFontCharMap() const; + const ImplFontCharMap* GetImplFontCharMap() const; const Ucs2SIntMap* GetEncodingVector() const { return mpEncodingVector; } void SetEncodingVector( const Ucs2SIntMap* pNewVec ) const { @@ -127,9 +127,9 @@ public: #endif // GNG_VERT_HACK }; -// ------------------- -// - SalGraphicsData - -// ------------------- +// ------------------ +// - WinSalGraphics - +// ------------------ class WinSalGraphics : public SalGraphics { @@ -179,7 +179,7 @@ public: HFONT ImplDoSetFont( ImplFontSelectData* i_pFont, float& o_rFontScale, HFONT& o_rOldFont ); public: - WinSalGraphics(); + explicit WinSalGraphics(); virtual ~WinSalGraphics(); protected: @@ -287,7 +287,7 @@ public: // return only PairCount if (pKernPairs == NULL) virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ); // get the repertoire of the current font - virtual ImplFontCharMap* GetImplFontCharMap() const; + virtual const ImplFontCharMap* GetImplFontCharMap() const; // graphics must fill supplied font list virtual void GetDevFontList( ImplDevFontList* ); // graphics should call ImplAddDevFontSubstitute on supplied @@ -359,11 +359,11 @@ public: }; // Init/Deinit Graphics -void ImplSalInitGraphics( WinSalGraphics* mpData ); -void ImplSalDeInitGraphics( WinSalGraphics* mpData ); +void ImplSalInitGraphics( WinSalGraphics* ); +void ImplSalDeInitGraphics( WinSalGraphics* ); void ImplUpdateSysColorEntries(); int ImplIsSysColorEntry( SalColor nSalColor ); -void ImplGetLogFontFromFontSelect( HDC hDC, const ImplFontSelectData*, +void ImplGetLogFontFromFontSelect( HDC, const ImplFontSelectData*, LOGFONTW&, bool bTestVerticalAvail ); // ----------- @@ -397,7 +397,10 @@ inline bool ImplWinFontData::HasChar( sal_uInt32 cChar ) const cChar -= 0xF000; else if( mbAliasSymbolsHigh && (cChar <= 0xFF) ) cChar += 0xF000; + else + return false; return mpUnicodeMap->HasChar( cChar ); } #endif // _SV_SALGDI_H + diff --git a/vcl/win/source/gdi/salbmp.cxx b/vcl/win/source/gdi/salbmp.cxx index 444df039dd69..141c812dcd31 100644 --- a/vcl/win/source/gdi/salbmp.cxx +++ b/vcl/win/source/gdi/salbmp.cxx @@ -509,8 +509,8 @@ void WinSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly ) { PBITMAPINFO pBI = (PBITMAPINFO) GlobalLock( mhDIB ); const USHORT nCount = pBuffer->maPalette.GetEntryCount(); - - memcpy( pBI->bmiColors, pBuffer->maPalette.ImplGetColorBuffer(), nCount * sizeof( RGBQUAD ) ); + const USHORT nDIBColorCount = ImplGetDIBColorCount( mhDIB ); + memcpy( pBI->bmiColors, pBuffer->maPalette.ImplGetColorBuffer(), Min( nDIBColorCount, nCount ) * sizeof( RGBQUAD ) ); GlobalUnlock( mhDIB ); } diff --git a/vcl/win/source/gdi/salgdi3.cxx b/vcl/win/source/gdi/salgdi3.cxx index 01fecec94b2f..c8e0210196e6 100644 --- a/vcl/win/source/gdi/salgdi3.cxx +++ b/vcl/win/source/gdi/salgdi3.cxx @@ -533,9 +533,10 @@ bool WinGlyphFallbackSubstititution::HasMissingChars( const ImplFontData* pFace, // avoid fonts with unknown CMAP subtables for glyph fallback if( !pCharMap || pCharMap->IsDefaultMap() ) return false; + pCharMap->AddReference(); int nMatchCount = 0; - // static const int nMaxMatchCount = 1; // TODO: check more missing characters? + // static const int nMaxMatchCount = 1; // TODO: tolerate more missing characters? const sal_Int32 nStrLen = rMissingChars.getLength(); for( sal_Int32 nStrIdx = 0; nStrIdx < nStrLen; ++nStrIdx ) { @@ -543,6 +544,7 @@ bool WinGlyphFallbackSubstititution::HasMissingChars( const ImplFontData* pFace, nMatchCount += pCharMap->HasChar( uChar ); break; // for now } + pCharMap->DeReference(); const bool bHasMatches = (nMatchCount > 0); return bHasMatches; @@ -1206,11 +1208,10 @@ bool ImplWinFontData::IsGSUBstituted( sal_UCS4 cChar ) const // ----------------------------------------------------------------------- -ImplFontCharMap* ImplWinFontData::GetImplFontCharMap() const +const ImplFontCharMap* ImplWinFontData::GetImplFontCharMap() const { if( !mpUnicodeMap ) return NULL; - mpUnicodeMap->AddReference(); return mpUnicodeMap; } @@ -1320,6 +1321,7 @@ void ImplWinFontData::ReadCmapTable( HDC hDC ) const if( !mpUnicodeMap ) mpUnicodeMap = ImplFontCharMap::GetDefaultMap( bIsSymbolFont ); + mpUnicodeMap->AddReference(); } // ======================================================================= @@ -2060,7 +2062,7 @@ ULONG WinSalGraphics::GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ) // ----------------------------------------------------------------------- -ImplFontCharMap* WinSalGraphics::GetImplFontCharMap() const +const ImplFontCharMap* WinSalGraphics::GetImplFontCharMap() const { if( !mpWinFontData[0] ) return ImplFontCharMap::GetDefaultMap(); @@ -2882,8 +2884,6 @@ BOOL WinSalGraphics::CreateFontSubset( const rtl::OUString& rToFile, ImplDoSetFont( &aIFSD, fScale, hOldFont ); ImplWinFontData* pWinFontData = (ImplWinFontData*)aIFSD.mpFontData; - pWinFontData->UpdateFromHDC( mhDC ); -/*const*/ ImplFontCharMap* pImplFontCharMap = pWinFontData->GetImplFontCharMap(); #if OSL_DEBUG_LEVEL > 1 // get font metrics @@ -2906,6 +2906,10 @@ BOOL WinSalGraphics::CreateFontSubset( const rtl::OUString& rToFile, const RawFontData aRawCffData( mhDC, nCffTag ); if( aRawCffData.get() ) { + pWinFontData->UpdateFromHDC( mhDC ); + const ImplFontCharMap* pCharMap = pWinFontData->GetImplFontCharMap(); + pCharMap->AddReference(); + long nRealGlyphIds[ 256 ]; for( int i = 0; i < nGlyphCount; ++i ) { @@ -2913,13 +2917,15 @@ BOOL WinSalGraphics::CreateFontSubset( const rtl::OUString& rToFile, // TODO: use GDI's GetGlyphIndices instead? Does it handle GSUB properly? sal_uInt32 nGlyphIdx = pGlyphIDs[i] & GF_IDXMASK; if( pGlyphIDs[i] & GF_ISCHAR ) // remaining pseudo-glyphs need to be translated - nGlyphIdx = pImplFontCharMap->GetGlyphIndex( nGlyphIdx ); + nGlyphIdx = pCharMap->GetGlyphIndex( nGlyphIdx ); if( (pGlyphIDs[i] & (GF_ROTMASK|GF_GSUB)) != 0) // TODO: vertical substitution {/*####*/} nRealGlyphIds[i] = nGlyphIdx; } + pCharMap->DeReference(); // TODO: and and use a RAII object + // provide a font subset from the CFF-table FILE* pOutFile = fopen( aToFile.GetBuffer(), "wb" ); rInfo.LoadFont( FontSubsetInfo::CFF_FONT, aRawCffData.get(), aRawCffData.size() ); @@ -3167,8 +3173,9 @@ void WinSalGraphics::GetGlyphWidths( const ImplFontData* pFont, rUnicodeEnc.clear(); } const ImplWinFontData* pWinFont = static_cast<const ImplWinFontData*>(pFont); - ImplFontCharMap* pMap = pWinFont->GetImplFontCharMap(); + const ImplFontCharMap* pMap = pWinFont->GetImplFontCharMap(); DBG_ASSERT( pMap && pMap->GetCharCount(), "no map" ); + pMap->AddReference(); int nCharCount = pMap->GetCharCount(); sal_uInt32 nChar = pMap->GetFirstChar(); @@ -3184,6 +3191,8 @@ void WinSalGraphics::GetGlyphWidths( const ImplFontData* pFont, } nChar = pMap->GetNextChar( nChar ); } + + pMap->DeReference(); // TODO: and and use a RAII object } } else if( pFont->IsEmbeddable() ) diff --git a/vcl/workben/makefile.mk b/vcl/workben/makefile.mk index 67c0289cc24f..abd0c23a3607 100644 --- a/vcl/workben/makefile.mk +++ b/vcl/workben/makefile.mk @@ -34,6 +34,8 @@ TARGETTYPE=GUI ENABLE_EXCEPTIONS=TRUE +my_components = i18npool i18nsearch + # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk @@ -136,16 +138,18 @@ APP5STDLIBS+=-lsocket .ENDIF .INCLUDE : target.mk -.IF "$(L10N_framework)"=="" -ALLTAR : $(BIN)$/applicat.rdb +ALLTAR : $(BIN)/applicat.rdb $(BIN)/types.rdb +$(BIN)/applicat.rdb .ERRREMOVE : $(SOLARENV)/bin/packcomponents.xslt \ + $(MISC)/applicat.input $(my_components:^"$(SOLARXMLDIR)/":+".component") + $(XSLTPROC) --nonet --stringparam prefix $(SOLARXMLDIR)/ -o $@ \ + $(SOLARENV)/bin/packcomponents.xslt $(MISC)/applicat.input -$(BIN)$/applicat.rdb : makefile.mk $(UNOUCRRDB) - rm -f $@ - $(GNUCOPY) $(UNOUCRRDB) $@ - cd $(BIN) && \ - $(REGCOMP) -register -r applicat.rdb \ - -c i18nsearch.uno$(DLLPOST) \ - -c i18npool.uno$(DLLPOST) -.ENDIF +$(MISC)/applicat.input : + echo \ + '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \ + > $@ + +$(BIN)/types.rdb : $(SOLARBINDIR)/types.rdb + $(COPY) $< $@ diff --git a/vcl/workben/svdem.cxx b/vcl/workben/svdem.cxx index 5822f4024a59..297660d4b8df 100644 --- a/vcl/workben/svdem.cxx +++ b/vcl/workben/svdem.cxx @@ -55,7 +55,7 @@ SAL_IMPLEMENT_MAIN() tools::extendApplicationEnvironment(); Reference< XMultiServiceFactory > xMS; - xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); + xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "types.rdb" ) ), rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); InitVCL( xMS ); ::Main(); diff --git a/vcl/workben/svptest.cxx b/vcl/workben/svptest.cxx index cc7c0f2b0cce..8f901d1c200b 100644 --- a/vcl/workben/svptest.cxx +++ b/vcl/workben/svptest.cxx @@ -61,7 +61,7 @@ SAL_IMPLEMENT_MAIN() tools::extendApplicationEnvironment(); Reference< XMultiServiceFactory > xMS; - xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); + xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "types.rdb" ) ), rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); InitVCL( xMS ); ::Main(); diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx index 41ca76144e5c..dafd546b3d68 100644 --- a/vcl/workben/vcldemo.cxx +++ b/vcl/workben/vcldemo.cxx @@ -60,7 +60,7 @@ SAL_IMPLEMENT_MAIN() tools::extendApplicationEnvironment(); Reference< XMultiServiceFactory > xMS; - xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); + xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "types.rdb" ) ), rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); InitVCL( xMS ); ::Main(); |