From 4460f213df777f569fa2a2091885c29c7653637f Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 13 May 2013 16:51:26 +0200 Subject: fdo#46808, use XComponentContext in SfxLibraryContainer Change-Id: I6f66fc69a40e2cd2ef2372e0413ff95b6202c5c5 --- basic/source/inc/namecont.hxx | 2 +- basic/source/uno/dlgcont.cxx | 38 +++++++++++++++++++------------------- basic/source/uno/namecont.cxx | 20 +++++++++----------- basic/source/uno/scriptcont.cxx | 8 ++++---- 4 files changed, 33 insertions(+), 35 deletions(-) (limited to 'basic') diff --git a/basic/source/inc/namecont.hxx b/basic/source/inc/namecont.hxx index 5bbb4ffbb6b1..4ac8d09433af 100644 --- a/basic/source/inc/namecont.hxx +++ b/basic/source/inc/namecont.hxx @@ -218,7 +218,7 @@ class SfxLibraryContainer : public SfxLibraryContainer_BASE, public ::utl::OEven sal_Bool mbVBACompat; OUString msProjectName; protected: - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMSF; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext; ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess3 > mxSFI; ::com::sun::star::uno::Reference< ::com::sun::star::util::XMacroExpander > mxMacroExpander; ::com::sun::star::uno::Reference< ::com::sun::star::util::XStringSubstitution > mxStringSubstitution; diff --git a/basic/source/uno/dlgcont.cxx b/basic/source/uno/dlgcont.cxx index bc598c41d083..1193756ebfc0 100644 --- a/basic/source/uno/dlgcont.cxx +++ b/basic/source/uno/dlgcont.cxx @@ -87,7 +87,7 @@ SfxDialogLibraryContainer::SfxDialogLibraryContainer( const uno::Reference< embe // Methods to get library instances of the correct type SfxLibrary* SfxDialogLibraryContainer::implCreateLibrary( const OUString& aName ) { - SfxLibrary* pRet = new SfxDialogLibrary( maModifiable, aName, comphelper::getComponentContext(mxMSF), mxSFI, this ); + SfxLibrary* pRet = new SfxDialogLibrary( maModifiable, aName, mxContext, mxSFI, this ); return pRet; } @@ -96,7 +96,7 @@ SfxLibrary* SfxDialogLibraryContainer::implCreateLibraryLink const OUString& StorageURL, sal_Bool ReadOnly ) { SfxLibrary* pRet = new SfxDialogLibrary - ( maModifiable, aName, comphelper::getComponentContext(mxMSF), mxSFI, aLibInfoFileURL, StorageURL, ReadOnly, this ); + ( maModifiable, aName, mxContext, mxSFI, aLibInfoFileURL, StorageURL, ReadOnly, this ); return pRet; } @@ -236,17 +236,17 @@ void SfxDialogLibraryContainer::storeLibrariesToStorage( const uno::Reference< e if ( xISP.is() ) { Reference< io::XInputStream > xInput( xISP->createInputStream() ); - Reference< XNameContainer > xDialogModel( mxMSF->createInstance - ( OUString( "com.sun.star.awt.UnoControlDialogModel" ) ) , UNO_QUERY ); - Reference< XComponentContext > xContext( comphelper::getComponentContext( mxMSF ) ); - ::xmlscript::importDialogModel( xInput, xDialogModel, xContext, mxOwnerDocument ); + Reference< XNameContainer > xDialogModel( + mxContext->getServiceManager()->createInstanceWithContext("com.sun.star.awt.UnoControlDialogModel", mxContext), + UNO_QUERY ); + ::xmlscript::importDialogModel( xInput, xDialogModel, mxContext, mxOwnerDocument ); std::vector< OUString > vEmbeddedImageURLs; GraphicObject::InspectForGraphicObjectImageURL( Reference< XInterface >( xDialogModel, UNO_QUERY ), vEmbeddedImageURLs ); if ( !vEmbeddedImageURLs.empty() ) { // Export the images to the storage Reference< document::XGraphicObjectResolver > xGraphicResolver = - document::GraphicObjectResolver::createWithStorage( xContext, xStorage ); + document::GraphicObjectResolver::createWithStorage( mxContext, xStorage ); std::vector< OUString >::iterator it = vEmbeddedImageURLs.begin(); std::vector< OUString >::iterator it_end = vEmbeddedImageURLs.end(); if ( xGraphicResolver.is() ) @@ -278,10 +278,11 @@ Any SAL_CALL SfxDialogLibraryContainer::importLibraryElement // return aRetAny; //} - Reference< XParser > xParser = xml::sax::Parser::create( comphelper::getComponentContext(mxMSF) ); + Reference< XParser > xParser = xml::sax::Parser::create( mxContext ); - Reference< XNameContainer > xDialogModel( mxMSF->createInstance - ( OUString( "com.sun.star.awt.UnoControlDialogModel" ) ), UNO_QUERY ); + Reference< XNameContainer > xDialogModel( + mxContext->getServiceManager()->createInstanceWithContext("com.sun.star.awt.UnoControlDialogModel", mxContext), + UNO_QUERY ); if( !xDialogModel.is() ) { OSL_FAIL( "### couldn't create com.sun.star.awt.UnoControlDialogModel component\n" ); @@ -312,16 +313,13 @@ Any SAL_CALL SfxDialogLibraryContainer::importLibraryElement if( !xInput.is() ) return aRetAny; - Reference< XComponentContext > xContext( - comphelper::getComponentContext( mxMSF ) ); - InputSource source; source.aInputStream = xInput; source.sSystemId = aFile; try { // start parsing - xParser->setDocumentHandler( ::xmlscript::importDialogModel( xDialogModel, xContext, mxOwnerDocument ) ); + xParser->setDocumentHandler( ::xmlscript::importDialogModel( xDialogModel, mxContext, mxOwnerDocument ) ); xParser->parseStream( source ); } catch(const Exception& ) @@ -335,7 +333,7 @@ Any SAL_CALL SfxDialogLibraryContainer::importLibraryElement // Create InputStream, TODO: Implement own InputStreamProvider // to avoid creating the DialogModel here! - Reference< XInputStreamProvider > xISP = ::xmlscript::exportDialogModel( xDialogModel, xContext, mxOwnerDocument ); + Reference< XInputStreamProvider > xISP = ::xmlscript::exportDialogModel( xDialogModel, mxContext, mxOwnerDocument ); aRetAny <<= xISP; return aRetAny; } @@ -377,8 +375,9 @@ Reference< ::com::sun::star::resource::XStringResourcePersistence > aArgs[4] <<= aComment; // TODO: Ctor - xRet = Reference< resource::XStringResourcePersistence >( mxMSF->createInstance - ( OUString("com.sun.star.resource.StringResourceWithStorage") ), UNO_QUERY ); + xRet = Reference< resource::XStringResourcePersistence >( + mxContext->getServiceManager()->createInstanceWithContext("com.sun.star.resource.StringResourceWithStorage", mxContext), + UNO_QUERY ); uno::Reference< embed::XStorage > xLibrariesStor; uno::Reference< embed::XStorage > xLibraryStor; @@ -425,8 +424,9 @@ Reference< ::com::sun::star::resource::XStringResourcePersistence > aArgs[5] <<= xDummyHandler; // TODO: Ctor - xRet = Reference< resource::XStringResourcePersistence >( mxMSF->createInstance - ( OUString("com.sun.star.resource.StringResourceWithLocation") ), UNO_QUERY ); + xRet = Reference< resource::XStringResourcePersistence >( + mxContext->getServiceManager()->createInstanceWithContext("com.sun.star.resource.StringResourceWithLocation", mxContext), + UNO_QUERY ); // TODO: Ctor if( xRet.is() ) diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx index 2e0a8f2b8263..69e8fbfbd9e8 100644 --- a/basic/source/uno/namecont.cxx +++ b/basic/source/uno/namecont.cxx @@ -387,12 +387,11 @@ SfxLibraryContainer::SfxLibraryContainer( void ) { DBG_CTOR( SfxLibraryContainer, NULL ); - mxMSF = comphelper::getProcessServiceFactory(); - SAL_WARN_IF(!mxMSF.is(), "basic", "couldn't get ProcessServiceFactory"); + mxContext = comphelper::getProcessComponentContext(); - mxSFI = ucb::SimpleFileAccess::create( comphelper::getComponentContext(mxMSF) ); + mxSFI = ucb::SimpleFileAccess::create( mxContext ); - mxStringSubstitution = util::PathSubstitution::create( comphelper::getComponentContext(mxMSF) ); + mxStringSubstitution = util::PathSubstitution::create( mxContext ); } SfxLibraryContainer::~SfxLibraryContainer() @@ -686,7 +685,7 @@ void SfxLibraryContainer::init_Impl( const OUString& rInitialDocumentURL, maLibraryPath = SvtPathOptions().GetBasicPath(); } - Reference< XParser > xParser = xml::sax::Parser::create(comphelper::getComponentContext(mxMSF)); + Reference< XParser > xParser = xml::sax::Parser::create(mxContext); uno::Reference< io::XInputStream > xInput; @@ -1578,7 +1577,7 @@ void SfxLibraryContainer::implStoreLibraryIndexFile( SfxLibrary* pLib, Reference< XSimpleFileAccess3 > xToUseSFI ) { // Create sax writer - Reference< XWriter > xWriter = xml::sax::Writer::create(comphelper::getComponentContext(mxMSF)); + Reference< XWriter > xWriter = xml::sax::Writer::create(mxContext); sal_Bool bLink = pLib->mbLink; bool bStorage = xStorage.is() && !bLink; @@ -1678,7 +1677,7 @@ bool SfxLibraryContainer::implLoadLibraryIndexFile( SfxLibrary* pLib, const uno::Reference< embed::XStorage >& xStorage, const OUString& aIndexFileName ) { - Reference< XParser > xParser = xml::sax::Parser::create(comphelper::getComponentContext(mxMSF)); + Reference< XParser > xParser = xml::sax::Parser::create(mxContext); sal_Bool bLink = sal_False; bool bStorage = false; @@ -2051,7 +2050,7 @@ void SfxLibraryContainer::storeLibraries_Impl( const uno::Reference< embed::XSto // Write library container info // Create sax writer - Reference< XWriter > xWriter = xml::sax::Writer::create(comphelper::getComponentContext(mxMSF)); + Reference< XWriter > xWriter = xml::sax::Writer::create(mxContext); // Write info file uno::Reference< io::XOutputStream > xOut; @@ -2800,7 +2799,7 @@ void SAL_CALL SfxLibraryContainer::exportLibrary( const OUString& Name, const OU Reference< XSimpleFileAccess3 > xToUseSFI; if( Handler.is() ) { - xToUseSFI = ucb::SimpleFileAccess::create( comphelper::getComponentContext(mxMSF) ); + xToUseSFI = ucb::SimpleFileAccess::create( mxContext ); xToUseSFI->setInteractionHandler( Handler ); } @@ -2834,8 +2833,7 @@ OUString SfxLibraryContainer::expand_url( const OUString& url ) { if( !mxMacroExpander.is() ) { - Reference< XComponentContext > xContext(comphelper::getComponentContext( mxMSF ) ); - Reference< util::XMacroExpander > xExpander = util::theMacroExpander::get(xContext); + Reference< util::XMacroExpander > xExpander = util::theMacroExpander::get(mxContext); MutexGuard guard( Mutex::getGlobalMutex() ); if( !mxMacroExpander.is() ) { diff --git a/basic/source/uno/scriptcont.cxx b/basic/source/uno/scriptcont.cxx index 982913ca964d..793577fb077d 100644 --- a/basic/source/uno/scriptcont.cxx +++ b/basic/source/uno/scriptcont.cxx @@ -144,7 +144,7 @@ SfxScriptLibraryContainer::SfxScriptLibraryContainer( const uno::Reference< embe SfxLibrary* SfxScriptLibraryContainer::implCreateLibrary( const OUString& aName ) { (void)aName; // Only needed for SfxDialogLibrary - SfxLibrary* pRet = new SfxScriptLibrary( maModifiable, comphelper::getComponentContext(mxMSF), mxSFI ); + SfxLibrary* pRet = new SfxScriptLibrary( maModifiable, mxContext, mxSFI ); return pRet; } @@ -154,7 +154,7 @@ SfxLibrary* SfxScriptLibraryContainer::implCreateLibraryLink( const OUString& aN sal_Bool ReadOnly ) { (void)aName; // Only needed for SfxDialogLibrary - SfxLibrary* pRet = new SfxScriptLibrary( maModifiable, comphelper::getComponentContext(mxMSF), mxSFI, + SfxLibrary* pRet = new SfxScriptLibrary( maModifiable, mxContext, mxSFI, aLibInfoFileURL, StorageURL, ReadOnly ); return pRet; } @@ -178,7 +178,7 @@ void SAL_CALL SfxScriptLibraryContainer::writeLibraryElement( const Reference < throw(Exception) { // Create sax writer - Reference< XWriter > xWriter = xml::sax::Writer::create(comphelper::getComponentContext(mxMSF)); + Reference< XWriter > xWriter = xml::sax::Writer::create(mxContext); Reference< XTruncate > xTruncate( xOutput, UNO_QUERY ); OSL_ENSURE( xTruncate.is(), "Currently only the streams that can be truncated are expected!" ); @@ -229,7 +229,7 @@ Any SAL_CALL SfxScriptLibraryContainer::importLibraryElement { Any aRetAny; - Reference< XParser > xParser = xml::sax::Parser::create( comphelper::getComponentContext(mxMSF) ); + Reference< XParser > xParser = xml::sax::Parser::create( mxContext ); // Read from storage? sal_Bool bStorage = xInStream.is(); -- cgit