From a3c032669d8a6c6f4fbb260bf493cb67ae31d1fa Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Mon, 18 Aug 2008 12:12:53 +0000 Subject: INTEGRATION: CWS cmcfixes48 (1.6.22); FILE MERGED 2008/08/01 13:54:31 cmc 1.6.22.1: #i92247# remove duplication of object code, link only the single library to libxmlsec1, and update some stuff to new api --- xmlsecurity/source/component/registerservices.cxx | 45 ++++++++++------------- 1 file changed, 19 insertions(+), 26 deletions(-) (limited to 'xmlsecurity') diff --git a/xmlsecurity/source/component/registerservices.cxx b/xmlsecurity/source/component/registerservices.cxx index 4743ca64ba63..061a9dbf70bd 100644 --- a/xmlsecurity/source/component/registerservices.cxx +++ b/xmlsecurity/source/component/registerservices.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: registerservices.cxx,v $ - * $Revision: 1.6 $ + * $Revision: 1.7 $ * * This file is part of OpenOffice.org. * @@ -93,42 +93,35 @@ sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistr void* SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) { - void* pRet = NULL; + void* pRet = 0; + uno::Reference< XInterface > xFactory; //Decryptor - rtl::OUString implName = rtl::OUString::createFromAscii( pImplName ); + rtl::OUString implName = rtl::OUString::createFromAscii( pImplName ); - // DocumentDigitalSignatures if ( pServiceManager && implName.equals( DocumentDigitalSignatures::GetImplementationName() ) ) { - uno::Reference< lang::XSingleServiceFactory > xFactory( cppu::createSingleFactory( + // DocumentDigitalSignatures + xFactory = cppu::createSingleComponentFactory( + DocumentDigitalSignatures_CreateInstance, + rtl::OUString::createFromAscii( pImplName ), + DocumentDigitalSignatures::GetSupportedServiceNames() ); + } + else if ( pServiceManager && implName.equals( CertificateContainer::impl_getStaticImplementationName() )) + { + // CertificateContainer + xFactory = cppu::createOneInstanceFactory( reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ), rtl::OUString::createFromAscii( pImplName ), - DocumentDigitalSignatures_CreateInstance, DocumentDigitalSignatures::GetSupportedServiceNames() ) ); - - if (xFactory.is()) - { - xFactory->acquire(); - pRet = xFactory.get(); - } + CertificateContainer::impl_createInstance, + CertificateContainer::impl_getStaticSupportedServiceNames() ); } - // CertificateContainer - if ( pServiceManager && implName.equals( CertificateContainer::impl_getStaticImplementationName() )) + if (xFactory.is()) { - uno::Reference< lang::XSingleServiceFactory > xFactoryCertificateContainer( cppu::createOneInstanceFactory( - reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ), - rtl::OUString::createFromAscii( pImplName ), - CertificateContainer::impl_createInstance, - CertificateContainer::impl_getStaticSupportedServiceNames() ) ); - - if (xFactoryCertificateContainer.is()) - { - xFactoryCertificateContainer->acquire(); - pRet = xFactoryCertificateContainer.get(); - } + xFactory->acquire(); + pRet = xFactory.get(); } - return pRet; } -- cgit