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 | 8e88ac109dc9eba88db92940d13933fc3a4393d8 (patch) | |
tree | cac25d104c9faeeeab300add47752de5fee2347e /dbaccess | |
parent | 7b95c82b3e920e7006ff4ef1871edb84612d21f7 (diff) |
sb129: #i113189# change UNO components to use passive registration
Diffstat (limited to 'dbaccess')
25 files changed, 427 insertions, 252 deletions
diff --git a/dbaccess/prj/d.lst b/dbaccess/prj/d.lst index 383cc119c814..4e1ab9c7f417 100644 --- a/dbaccess/prj/d.lst +++ b/dbaccess/prj/d.lst @@ -51,3 +51,10 @@ touch: ..\%__SRC%\misc\dbaccess.hid %_DEST%\bin%_EXT%\dba.hid ..\inc\*.hxx %_DEST%\inc%_EXT%\dbaccess\*.hxx ..\inc\*.h %_DEST%\inc%_EXT%\dbaccess\*.h +..\%__SRC%\misc\adabasui.component %_DEST%\xml%_EXT%\adabasui.component +..\%__SRC%\misc\dba.component %_DEST%\xml%_EXT%\dba.component +..\%__SRC%\misc\dbacfg.component %_DEST%\xml%_EXT%\dbacfg.component +..\%__SRC%\misc\dbaxml.component %_DEST%\xml%_EXT%\dbaxml.component +..\%__SRC%\misc\dbmm.component %_DEST%\xml%_EXT%\dbmm.component +..\%__SRC%\misc\dbu.component %_DEST%\xml%_EXT%\dbu.component +..\%__SRC%\misc\sdbt.component %_DEST%\xml%_EXT%\sdbt.component diff --git a/dbaccess/source/core/misc/services.cxx b/dbaccess/source/core/misc/services.cxx index 5c427d1eb57e..1853ac167ce3 100644 --- a/dbaccess/source/core/misc/services.cxx +++ b/dbaccess/source/core/misc/services.cxx @@ -94,28 +94,6 @@ extern "C" OOO_DLLPUBLIC_DBA void SAL_CALL component_getImplementationEnvironmen } //--------------------------------------------------------------------------------------- -extern "C" OOO_DLLPUBLIC_DBA sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - return ::dba::DbaModule::getInstance().writeComponentInfos( - static_cast< XMultiServiceFactory* >( pServiceManager ), - static_cast< XRegistryKey* >( pRegistryKey ) ) - && cppu::component_writeInfoHelper(pServiceManager, pRegistryKey, dba::entries); - } - catch (InvalidRegistryException& ) - { - OSL_ENSURE( false, "DBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !" ); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" OOO_DLLPUBLIC_DBA void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/source/ext/adabas/Acomponentmodule.cxx b/dbaccess/source/ext/adabas/Acomponentmodule.cxx index 467a36b75afb..4a0661fff228 100644 --- a/dbaccess/source/ext/adabas/Acomponentmodule.cxx +++ b/dbaccess/source/ext/adabas/Acomponentmodule.cxx @@ -248,54 +248,6 @@ namespace COMPMOD_NAMESPACE } //-------------------------------------------------------------------------- - sal_Bool OModule::writeComponentInfos( - const Reference< XMultiServiceFactory >& /*_rxServiceManager*/, - const Reference< XRegistryKey >& _rxRootKey) - { - OSL_ENSURE(_rxRootKey.is(), "OModule::writeComponentInfos : invalid argument !"); - - if (!s_pImplementationNames) - { - OSL_ASSERT("OModule::writeComponentInfos : have no class infos ! Are you sure called this method at the right time ?"); - return sal_True; - } - OSL_ENSURE(s_pImplementationNames && s_pSupportedServices && s_pCreationFunctionPointers && s_pFactoryFunctionPointers, - "OModule::writeComponentInfos : inconsistent state (the pointers) !"); - OSL_ENSURE( (s_pImplementationNames->getLength() == s_pSupportedServices->getLength()) - && (s_pImplementationNames->getLength() == s_pCreationFunctionPointers->getLength()) - && (s_pImplementationNames->getLength() == s_pFactoryFunctionPointers->getLength()), - "OModule::writeComponentInfos : inconsistent state !"); - - sal_Int32 nLen = s_pImplementationNames->getLength(); - const ::rtl::OUString* pImplName = s_pImplementationNames->getConstArray(); - const Sequence< ::rtl::OUString >* pServices = s_pSupportedServices->getConstArray(); - - ::rtl::OUString sRootKey("/", 1, RTL_TEXTENCODING_ASCII_US); - for (sal_Int32 i=0; i<nLen; ++i, ++pImplName, ++pServices) - { - ::rtl::OUString aMainKeyName(sRootKey); - aMainKeyName += *pImplName; - aMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES"); - - try - { - Reference< XRegistryKey > xNewKey( _rxRootKey->createKey(aMainKeyName) ); - - const ::rtl::OUString* pService = pServices->getConstArray(); - for (sal_Int32 j=0; j<pServices->getLength(); ++j, ++pService) - xNewKey->createKey(*pService); - } - catch(Exception&) - { - OSL_ASSERT("OModule::writeComponentInfos : something went wrong while creating the keys !"); - return sal_False; - } - } - - return sal_True; - } - - //-------------------------------------------------------------------------- Reference< XInterface > OModule::getComponentFactory( const ::rtl::OUString& _rImplementationName, const Reference< XMultiServiceFactory >& _rxServiceManager) diff --git a/dbaccess/source/ext/adabas/Acomponentmodule.hxx b/dbaccess/source/ext/adabas/Acomponentmodule.hxx index 7b5f1466a092..c015ad25cf38 100644 --- a/dbaccess/source/ext/adabas/Acomponentmodule.hxx +++ b/dbaccess/source/ext/adabas/Acomponentmodule.hxx @@ -137,21 +137,6 @@ typedef ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleService static void revokeComponent( const ::rtl::OUString& _rImplementationName); - /** write the registration information of all known components - <p>writes the registration information of all components which are currently registered into the - specified registry.<p/> - <p>Usually used from within component_writeInfo.<p/> - @param _rxServiceManager - the service manager - @param _rRootKey - the registry key under which the information will be stored - @return - sal_True if the registration of all implementations was successfull, sal_False otherwise - */ - static 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); - /** creates a Factory for the component with the given implementation name. <p>Usually used from within component_getFactory.<p/> @param _rxServiceManager diff --git a/dbaccess/source/ext/adabas/Aservices.cxx b/dbaccess/source/ext/adabas/Aservices.cxx index 7ea45579157f..b1c24bd295a5 100644 --- a/dbaccess/source/ext/adabas/Aservices.cxx +++ b/dbaccess/source/ext/adabas/Aservices.cxx @@ -74,27 +74,6 @@ component_getImplementationEnvironment( } //--------------------------------------------------------------------------------------- -extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - return OModule::writeComponentInfos( - static_cast<XMultiServiceFactory*>(pServiceManager), - static_cast<XRegistryKey*>(pRegistryKey)); - } - catch (InvalidRegistryException& ) - { - OSL_ASSERT("DBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !"); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/source/ext/adabas/adabasui.component b/dbaccess/source/ext/adabas/adabasui.component new file mode 100644 index 000000000000..e547a0cffd4e --- /dev/null +++ b/dbaccess/source/ext/adabas/adabasui.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="org.openoffice.comp.adabasui.AdabasCreateDialog"> + <service name="com.sun.star.sdb.AdabasCreationDialog"/> + </implementation> +</component> diff --git a/dbaccess/source/ext/adabas/adabasui.dxp b/dbaccess/source/ext/adabas/adabasui.dxp index db9c0a52f288..926e49f5f1a5 100644 --- a/dbaccess/source/ext/adabas/adabasui.dxp +++ b/dbaccess/source/ext/adabas/adabasui.dxp @@ -1,4 +1,3 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dbaccess/source/ext/adabas/exports.dxp b/dbaccess/source/ext/adabas/exports.dxp index 9630d7e06768..f0e1c69934bc 100644 --- a/dbaccess/source/ext/adabas/exports.dxp +++ b/dbaccess/source/ext/adabas/exports.dxp @@ -1,3 +1,2 @@ component_getImplementationEnvironment -component_writeInfo component_getFactory diff --git a/dbaccess/source/ext/adabas/makefile.mk b/dbaccess/source/ext/adabas/makefile.mk index e23310ac92f3..8dbbe7abc3ff 100644 --- a/dbaccess/source/ext/adabas/makefile.mk +++ b/dbaccess/source/ext/adabas/makefile.mk @@ -91,3 +91,10 @@ RESLIB1SRSFILES=$(RES1FILELIST) .INCLUDE : target.mk +ALLTAR : $(MISC)/adabasui.component + +$(MISC)/adabasui.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + adabasui.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt adabasui.component diff --git a/dbaccess/source/ext/macromigration/dbmm.component b/dbaccess/source/ext/macromigration/dbmm.component new file mode 100644 index 000000000000..a74e94510aeb --- /dev/null +++ b/dbaccess/source/ext/macromigration/dbmm.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.dbaccess.macromigration.MacroMigrationDialogService"> + <service name="com.sun.star.sdb.application.MacroMigrationWizard"/> + </implementation> +</component> diff --git a/dbaccess/source/ext/macromigration/makefile.mk b/dbaccess/source/ext/macromigration/makefile.mk index 41898091c26a..b71330f17ef5 100644 --- a/dbaccess/source/ext/macromigration/makefile.mk +++ b/dbaccess/source/ext/macromigration/makefile.mk @@ -99,3 +99,11 @@ RESLIB1SRSFILES=$(RES1FILELIST) .INCLUDE : target.mk + +ALLTAR : $(MISC)/dbmm.component + +$(MISC)/dbmm.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dbmm.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dbmm.component diff --git a/dbaccess/source/filter/migration/cfgservices.cxx b/dbaccess/source/filter/migration/cfgservices.cxx index c9696f37ca71..054f013eb51f 100644 --- a/dbaccess/source/filter/migration/cfgservices.cxx +++ b/dbaccess/source/filter/migration/cfgservices.cxx @@ -74,27 +74,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( } //--------------------------------------------------------------------------------------- -extern "C" sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - return ::dbacfg::OModuleRegistration::writeComponentInfos( - static_cast<XMultiServiceFactory*>(pServiceManager), - static_cast<XRegistryKey*>(pRegistryKey)); - } - catch (InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "DBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !"); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/source/filter/migration/dbacfg.component b/dbaccess/source/filter/migration/dbacfg.component new file mode 100644 index 000000000000..65e92d0f5394 --- /dev/null +++ b/dbaccess/source/filter/migration/dbacfg.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.sdb.DataSourceMigration"> + <service name="com.sun.star.sdb.DataSourceMigration"/> + </implementation> +</component> diff --git a/dbaccess/source/filter/migration/makefile.mk b/dbaccess/source/filter/migration/makefile.mk index 7bb53208d9d0..3a8a37e07ac7 100644 --- a/dbaccess/source/filter/migration/makefile.mk +++ b/dbaccess/source/filter/migration/makefile.mk @@ -72,3 +72,11 @@ DEF1NAME=$(SHL1TARGET) # --- Targets ---------------------------------- .INCLUDE : target.mk + +ALLTAR : $(MISC)/dbacfg.component + +$(MISC)/dbacfg.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dbacfg.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dbacfg.component diff --git a/dbaccess/source/filter/xml/dbaxml.component b/dbaccess/source/filter/xml/dbaxml.component new file mode 100644 index 000000000000..23b3a5c1a776 --- /dev/null +++ b/dbaccess/source/filter/xml/dbaxml.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.sdb.DBExportFilter"> + <service name="com.sun.star.document.ExportFilter"/> + </implementation> + <implementation name="com.sun.star.comp.sdb.DBFilter"> + <service name="com.sun.star.document.ImportFilter"/> + </implementation> + <implementation name="com.sun.star.comp.sdb.XMLFullExporter"> + <service name="com.sun.star.document.ExportFilter"/> + </implementation> + <implementation name="com.sun.star.comp.sdb.XMLSettingsExporter"> + <service name="com.sun.star.document.ExportFilter"/> + </implementation> + <implementation name="org.openoffice.comp.dbflt.DBContentLoader2"> + <service name="com.sun.star.frame.FrameLoader"/> + </implementation> + <implementation name="org.openoffice.comp.dbflt.DBTypeDetection"> + <service name="com.sun.star.document.ExtendedTypeDetection"/> + </implementation> +</component> diff --git a/dbaccess/source/filter/xml/makefile.mk b/dbaccess/source/filter/xml/makefile.mk index 6c6091c5f69e..e36173f5abac 100644 --- a/dbaccess/source/filter/xml/makefile.mk +++ b/dbaccess/source/filter/xml/makefile.mk @@ -112,3 +112,11 @@ DEF1NAME=$(SHL1TARGET) # --- Targets ---------------------------------- .INCLUDE : target.mk + +ALLTAR : $(MISC)/dbaxml.component + +$(MISC)/dbaxml.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dbaxml.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dbaxml.component diff --git a/dbaccess/source/filter/xml/xmlservices.cxx b/dbaccess/source/filter/xml/xmlservices.cxx index 6d7f9dd1cb75..7afafe465e52 100644 --- a/dbaccess/source/filter/xml/xmlservices.cxx +++ b/dbaccess/source/filter/xml/xmlservices.cxx @@ -84,28 +84,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( } //--------------------------------------------------------------------------------------- -extern "C" sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - writeDBLoaderInfo2(pRegistryKey); - return ::dbaxml::OModuleRegistration::writeComponentInfos( - static_cast<XMultiServiceFactory*>(pServiceManager), - static_cast<XRegistryKey*>(pRegistryKey)); - } - catch (InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "DBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !"); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/source/inc/registrationhelper.hxx b/dbaccess/source/inc/registrationhelper.hxx index b7861e89faf0..1bec33866093 100644 --- a/dbaccess/source/inc/registrationhelper.hxx +++ b/dbaccess/source/inc/registrationhelper.hxx @@ -73,16 +73,6 @@ public: static void revokeComponent( const ::rtl::OUString& _rImplementationName); - /** 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 sal_True if the registration of all implementations was successfull, sal_False otherwise - */ - static 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); - /** creates a Factory for the component with the given implementation name. Usually used from within component_getFactory. @param _rxServiceManager a pointer to an XMultiServiceFactory interface as got in component_getFactory @param _pImplementationName the implementation name of the component diff --git a/dbaccess/source/sdbtools/misc/sdbt_services.cxx b/dbaccess/source/sdbtools/misc/sdbt_services.cxx index 1c6d746ed99b..9cbba28a2061 100644 --- a/dbaccess/source/sdbtools/misc/sdbt_services.cxx +++ b/dbaccess/source/sdbtools/misc/sdbt_services.cxx @@ -66,27 +66,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( } //--------------------------------------------------------------------------------------- -extern "C" sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - return ::sdbtools::SdbtModule::getInstance().writeComponentInfos( - static_cast<XMultiServiceFactory*>(pServiceManager), - static_cast<XRegistryKey*>(pRegistryKey)); - } - catch (const InvalidRegistryException& ) - { - OSL_ASSERT("sdbt::component_writeInfo: could not create a registry key (InvalidRegistryException) !"); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/source/shared/registrationhelper.cxx b/dbaccess/source/shared/registrationhelper.cxx index b606c6bcf9b6..318454df8994 100644 --- a/dbaccess/source/shared/registrationhelper.cxx +++ b/dbaccess/source/shared/registrationhelper.cxx @@ -116,54 +116,6 @@ void OModuleRegistration::revokeComponent(const ::rtl::OUString& _rImplementatio } //-------------------------------------------------------------------------- -sal_Bool OModuleRegistration::writeComponentInfos( - const uno::Reference< lang::XMultiServiceFactory >& /*_rxServiceManager*/, - const uno::Reference< registry::XRegistryKey >& _rxRootKey) -{ - OSL_ENSURE(_rxRootKey.is(), "OModuleRegistration::writeComponentInfos : invalid argument !"); - - if (!s_pImplementationNames) - { - OSL_ENSURE(sal_False, "OModuleRegistration::writeComponentInfos : have no class infos ! Are you sure called this method at the right time ?"); - return sal_True; - } - OSL_ENSURE(s_pImplementationNames && s_pSupportedServices && s_pCreationFunctionPointers && s_pFactoryFunctionPointers, - "OModuleRegistration::writeComponentInfos : inconsistent state (the pointers) !"); - OSL_ENSURE( (s_pImplementationNames->getLength() == s_pSupportedServices->getLength()) - && (s_pImplementationNames->getLength() == s_pCreationFunctionPointers->getLength()) - && (s_pImplementationNames->getLength() == s_pFactoryFunctionPointers->getLength()), - "OModuleRegistration::writeComponentInfos : inconsistent state !"); - - sal_Int32 nLen = s_pImplementationNames->getLength(); - const ::rtl::OUString* pImplName = s_pImplementationNames->getConstArray(); - const uno::Sequence< ::rtl::OUString >* pServices = s_pSupportedServices->getConstArray(); - - ::rtl::OUString sRootKey("/", 1, RTL_TEXTENCODING_ASCII_US); - for (sal_Int32 i=0; i<nLen; ++i, ++pImplName, ++pServices) - { - ::rtl::OUString aMainKeyName(sRootKey); - aMainKeyName += *pImplName; - aMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES"); - - try - { - uno::Reference< registry::XRegistryKey > xNewKey( _rxRootKey->createKey(aMainKeyName) ); - - const ::rtl::OUString* pService = pServices->getConstArray(); - for (sal_Int32 j=0; j<pServices->getLength(); ++j, ++pService) - xNewKey->createKey(*pService); - } - catch(uno::Exception const&) - { - OSL_ENSURE(sal_False, "OModuleRegistration::writeComponentInfos : something went wrong while creating the keys !"); - return sal_False; - } - } - - return sal_True; -} - -//-------------------------------------------------------------------------- uno::Reference< uno::XInterface > OModuleRegistration::getComponentFactory( const ::rtl::OUString& _rImplementationName, const uno::Reference< lang::XMultiServiceFactory >& _rxServiceManager) diff --git a/dbaccess/source/ui/misc/uiservices.cxx b/dbaccess/source/ui/misc/uiservices.cxx index d206e2854da6..0c5a37e31378 100644 --- a/dbaccess/source/ui/misc/uiservices.cxx +++ b/dbaccess/source/ui/misc/uiservices.cxx @@ -125,28 +125,6 @@ extern "C" DBACCESS_DLLPUBLIC void SAL_CALL component_getImplementationEnvironme } //--------------------------------------------------------------------------------------- -extern "C" DBACCESS_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo( - void* pServiceManager, - void* pRegistryKey - ) -{ - if (pRegistryKey) - try - { - writeDBLoaderInfo(pRegistryKey); - return ::dbaui::OModuleRegistration::writeComponentInfos( - static_cast<XMultiServiceFactory*>(pServiceManager), - static_cast<XRegistryKey*>(pRegistryKey)); - } - catch (InvalidRegistryException& ) - { - OSL_ENSURE(sal_False, "DBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !"); - } - - return sal_False; -} - -//--------------------------------------------------------------------------------------- extern "C" DBACCESS_DLLPUBLIC void* SAL_CALL component_getFactory( const sal_Char* pImplementationName, void* pServiceManager, diff --git a/dbaccess/util/dba.component b/dbaccess/util/dba.component new file mode 100644 index 000000000000..46b39d81bafb --- /dev/null +++ b/dbaccess/util/dba.component @@ -0,0 +1,65 @@ +<?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.chart2.data.DatabaseDataProvider"> + <service name="com.sun.star.chart2.data.DatabaseDataProvider"/> + </implementation> + <implementation name="com.sun.star.comp.dba.DataAccessDescriptorFactory"> + <service name="com.sun.star.sdb.DataAccessDescriptorFactory"/> + <singleton name="com.sun.star.sdb.DataAccessDescriptorFactory"/> + </implementation> + <implementation name="com.sun.star.comp.dba.OCommandDefinition"> + <service name="com.sun.star.sdb.CommandDefinition"/> + <service name="com.sun.star.sdb.QueryDefinition"/> + <service name="com.sun.star.ucb.Content"/> + </implementation> + <implementation name="com.sun.star.comp.dba.OComponentDefinition"> + <service name="com.sun.star.sdb.TableDefinition"/> + <service name="com.sun.star.ucb.Content"/> + </implementation> + <implementation name="com.sun.star.comp.dba.ODatabaseContext"> + <service name="com.sun.star.sdb.DatabaseContext"/> + </implementation> + <implementation name="com.sun.star.comp.dba.ODatabaseDocument"> + <service name="com.sun.star.document.OfficeDocument"/> + <service name="com.sun.star.sdb.OfficeDatabaseDocument"/> + </implementation> + <implementation name="com.sun.star.comp.dba.ODatabaseSource"> + <service name="com.sun.star.sdb.DataSource"/> + <service name="com.sun.star.sdb.DocumentDataSource"/> + </implementation> + <implementation name="com.sun.star.comp.dba.ORowSet"> + <service name="com.sun.star.sdb.ResultSet"/> + <service name="com.sun.star.sdb.RowSet"/> + <service name="com.sun.star.sdbc.ResultSet"/> + <service name="com.sun.star.sdbc.RowSet"/> + <service name="com.sun.star.sdbcx.ResultSet"/> + </implementation> +</component> diff --git a/dbaccess/util/dbu.component b/dbaccess/util/dbu.component new file mode 100644 index 000000000000..cee329fe43f0 --- /dev/null +++ b/dbaccess/util/dbu.component @@ -0,0 +1,119 @@ +<?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.dbaccess.DatabaseInteractionHandler"> + <service name="com.sun.star.sdb.DatabaseInteractionHandler"/> + </implementation> + <implementation name="com.sun.star.comp.dbaccess.LegacyInteractionHandler"> + <service name="com.sun.star.sdb.InteractionHandler"/> + </implementation> + <implementation + name="com.sun.star.comp.dbaccess.OTextConnectionSettingsDialog"> + <service name="com.sun.star.sdb.TextConnectionSettings"/> + </implementation> + <implementation name="com.sun.star.comp.dbu.OColumnControl"> + <service name="com.sun.star.awt.UnoControl"/> + <service name="com.sun.star.sdb.ColumnDescriptorControl"/> + </implementation> + <implementation name="com.sun.star.comp.dbu.OColumnControlModel"> + <service name="com.sun.star.awt.UnoControlModel"/> + <service name="com.sun.star.sdb.ColumnDescriptorControlModel"/> + </implementation> + <implementation name="com.sun.star.comp.dbu.SbaXGridControl"> + <service name="com.sun.star.awt.UnoControl"/> + <service name="com.sun.star.form.control.GridControl"/> + <service name="com.sun.star.form.control.InteractionGridControl"/> + </implementation> + <implementation name="com.sun.star.comp.sdb.DirectSQLDialog"> + <service name="org.openoffice.comp.dbu.DirectSqlDialog"/> + </implementation> + <implementation name="com.sun.star.sdb.ApplicationStatusbarController"> + <service name="com.sun.star.frame.StatusbarController"/> + </implementation> + <implementation name="com.sun.star.sdb.ApplicationToolboxController"> + <service name="com.sun.star.frame.ToolboxController"/> + </implementation> + <implementation name="com.sun.star.uno.comp.sdb.RowsetFilterDialog"> + <service name="com.sun.star.sdb.FilterDialog"/> + </implementation> + <implementation name="com.sun.star.uno.comp.sdb.RowsetOrderDialog"> + <service name="com.sun.star.sdb.OrderDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.CopyTableWizard"> + <service name="com.sun.star.sdb.application.CopyTableWizard"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.DBContentLoader"> + <service name="com.sun.star.frame.FrameLoader"/> + <service name="com.sun.star.sdb.ContentLoader"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OAdvancedSettingsDialog"> + <service name="com.sun.star.sdb.AdvancedDatabaseSettingsDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OApplicationController"> + <service name="com.sun.star.sdb.application.DefaultViewController"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.ODBTypeWizDialog"> + <service name="com.sun.star.sdb.DataSourceTypeChangeDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.ODBTypeWizDialogSetup"> + <service name="com.sun.star.sdb.DatabaseWizardDialog"/> + </implementation> + <implementation + name="org.openoffice.comp.dbu.ODatasourceAdministrationDialog"> + <service name="com.sun.star.sdb.DatasourceAdministrationDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.ODatasourceBrowser"> + <service name="com.sun.star.sdb.DataSourceBrowser"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OFormGridView"> + <service name="com.sun.star.sdb.FormGridView"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OQueryDesign"> + <service name="com.sun.star.sdb.QueryDesign"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.ORelationDesign"> + <service name="com.sun.star.sdb.RelationDesign"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OSQLMessageDialog"> + <service name="com.sun.star.sdb.ErrorMessageDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OTableDesign"> + <service name="com.sun.star.sdb.TableDesign"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OTableFilterDialog"> + <service name="com.sun.star.sdb.TableFilterDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OUserSettingsDialog"> + <service name="com.sun.star.sdb.UserAdministrationDialog"/> + </implementation> + <implementation name="org.openoffice.comp.dbu.OViewDesign"> + <service name="com.sun.star.sdb.ViewDesign"/> + </implementation> +</component> diff --git a/dbaccess/util/makefile.mk b/dbaccess/util/makefile.mk index 8430b5edf8dc..d59855961c79 100644 --- a/dbaccess/util/makefile.mk +++ b/dbaccess/util/makefile.mk @@ -239,3 +239,23 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk .ENDIF .ENDIF + +ALLTAR : $(MISC)/dba.component $(MISC)/dbu.component $(MISC)/sdbt.component + +$(MISC)/dba.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dba.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dba.component + +$(MISC)/dbu.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + dbu.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt dbu.component + +$(MISC)/sdbt.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + sdbt.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL3TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt sdbt.component diff --git a/dbaccess/util/sdbt.component b/dbaccess/util/sdbt.component new file mode 100644 index 000000000000..0038c0cad27f --- /dev/null +++ b/dbaccess/util/sdbt.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.dbaccess.ConnectionTools"> + <service name="com.sun.star.sdb.tools.ConnectionTools"/> + </implementation> +</component> |