diff options
author | sb <sb@openoffice.org> | 2010-09-10 13:10:07 +0200 |
---|---|---|
committer | sb <sb@openoffice.org> | 2010-09-10 13:10:07 +0200 |
commit | 9551bf5a1ee5c9275a26f8ec4021e0b7f5665176 (patch) | |
tree | 9c440724c8563bf927448d91c542469f1e18964b /embeddedobj | |
parent | 7a54dffcfbdb0d2e004ad070c35f511cee6642b5 (diff) |
sb129: #i113189# change UNO components to use passive registration
Diffstat (limited to 'embeddedobj')
-rw-r--r-- | embeddedobj/prj/d.lst | 2 | ||||
-rw-r--r-- | embeddedobj/source/commonembedding/register.cxx | 42 | ||||
-rw-r--r-- | embeddedobj/source/msole/emboleobj.component | 35 | ||||
-rw-r--r-- | embeddedobj/source/msole/emboleobj.windows.component | 39 | ||||
-rw-r--r-- | embeddedobj/source/msole/exports.dxp | 1 | ||||
-rw-r--r-- | embeddedobj/source/msole/makefile.mk | 11 | ||||
-rw-r--r-- | embeddedobj/util/embobj.component | 43 | ||||
-rw-r--r-- | embeddedobj/util/exports.dxp | 1 | ||||
-rw-r--r-- | embeddedobj/util/makefile.mk | 8 |
9 files changed, 138 insertions, 44 deletions
diff --git a/embeddedobj/prj/d.lst b/embeddedobj/prj/d.lst index 69721747166a..e85b439a1e34 100644 --- a/embeddedobj/prj/d.lst +++ b/embeddedobj/prj/d.lst @@ -4,3 +4,5 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool ..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib ..\dtd\*.dtd %_DEST%\bin%_EXT%\*.* +..\%__SRC%\misc\embobj.component %_DEST%\xml%_EXT%\embobj.component +..\%__SRC%\misc\emboleobj.component %_DEST%\xml%_EXT%\emboleobj.component diff --git a/embeddedobj/source/commonembedding/register.cxx b/embeddedobj/source/commonembedding/register.cxx index bd2a64b299f1..8dbbd9ee4980 100644 --- a/embeddedobj/source/commonembedding/register.cxx +++ b/embeddedobj/source/commonembedding/register.cxx @@ -87,47 +87,5 @@ void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServic return pRet; } -sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, void * pRegistryKey ) -{ - if (pRegistryKey) - { - try - { - sal_Int32 nInd = 0; - uno::Reference< registry::XRegistryKey > xKey( reinterpret_cast< registry::XRegistryKey* >( pRegistryKey ) ); - - uno::Reference< registry::XRegistryKey > xNewKey; - - xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - OOoEmbeddedObjectFactory::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - uno::Sequence< ::rtl::OUString > rServices = OOoEmbeddedObjectFactory::impl_staticGetSupportedServiceNames(); - for( nInd = 0; nInd < rServices.getLength(); nInd++ ) - xNewKey->createKey( rServices.getConstArray()[nInd] ); - - xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - OOoSpecialEmbeddedObjectFactory::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - rServices = OOoSpecialEmbeddedObjectFactory::impl_staticGetSupportedServiceNames(); - for( nInd = 0; nInd < rServices.getLength(); nInd++ ) - xNewKey->createKey( rServices.getConstArray()[nInd] ); - - xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + - UNOEmbeddedObjectCreator::impl_staticGetImplementationName() + - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ); - rServices = UNOEmbeddedObjectCreator::impl_staticGetSupportedServiceNames(); - for( nInd = 0; nInd < rServices.getLength(); nInd++ ) - xNewKey->createKey( rServices.getConstArray()[nInd] ); - - return sal_True; - } - catch (registry::InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; -} - } // extern "C" diff --git a/embeddedobj/source/msole/emboleobj.component b/embeddedobj/source/msole/emboleobj.component new file mode 100644 index 000000000000..96f8ed0d8d57 --- /dev/null +++ b/embeddedobj/source/msole/emboleobj.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.OLEEmbeddedObjectFactory"> + <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/> + <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/> + </implementation> +</component> diff --git a/embeddedobj/source/msole/emboleobj.windows.component b/embeddedobj/source/msole/emboleobj.windows.component new file mode 100644 index 000000000000..644a1d4f19a1 --- /dev/null +++ b/embeddedobj/source/msole/emboleobj.windows.component @@ -0,0 +1,39 @@ +<?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.MSOLEObjectSystemCreator"> + <service name="com.sun.star.comp.embed.MSOLEObjectSystemCreator"/> + <service name="com.sun.star.embed.MSOLEObjectSystemCreator"/> + </implementation> + <implementation name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"> + <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/> + <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/> + </implementation> +</component> diff --git a/embeddedobj/source/msole/exports.dxp b/embeddedobj/source/msole/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/embeddedobj/source/msole/exports.dxp +++ b/embeddedobj/source/msole/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/embeddedobj/source/msole/makefile.mk b/embeddedobj/source/msole/makefile.mk index 07b08bce6984..f40e231bc2dd 100644 --- a/embeddedobj/source/msole/makefile.mk +++ b/embeddedobj/source/msole/makefile.mk @@ -130,3 +130,14 @@ DEF1NAME= $(SHL1TARGET) .INCLUDE : target.mk +ALLTAR : $(MISC)/emboleobj.component + +.IF "$(OS)" == "WNT" +my_platform = .windows +.END + +$(MISC)/emboleobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + emboleobj.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt emboleobj$(my_platform).component diff --git a/embeddedobj/util/embobj.component b/embeddedobj/util/embobj.component new file mode 100644 index 000000000000..e46945dcb7e0 --- /dev/null +++ b/embeddedobj/util/embobj.component @@ -0,0 +1,43 @@ +<?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.EmbeddedObjectCreator"> + <service name="com.sun.star.comp.embed.EmbeddedObjectCreator"/> + <service name="com.sun.star.embed.EmbeddedObjectCreator"/> + </implementation> + <implementation name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory"> + <service name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory"/> + <service name="com.sun.star.embed.OOoEmbeddedObjectFactory"/> + </implementation> + <implementation name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory"> + <service name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory"/> + <service name="com.sun.star.embed.OOoSpecialEmbeddedObjectFactory"/> + </implementation> +</component> diff --git a/embeddedobj/util/exports.dxp b/embeddedobj/util/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/embeddedobj/util/exports.dxp +++ b/embeddedobj/util/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/embeddedobj/util/makefile.mk b/embeddedobj/util/makefile.mk index 763d64c164c4..eb2416bd4dd5 100644 --- a/embeddedobj/util/makefile.mk +++ b/embeddedobj/util/makefile.mk @@ -87,3 +87,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk @echo CLEAR_THE_FILE > $@ @echo __CT >>$@ + +ALLTAR : $(MISC)/embobj.component + +$(MISC)/embobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + embobj.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt embobj.component |