summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2013-05-13 16:51:26 +0200
committerNoel Grandin <noel@peralex.com>2013-05-14 08:08:27 +0200
commit4460f213df777f569fa2a2091885c29c7653637f (patch)
treefb2f12ff84bcfddb53ca0889d01541ee31176ffa
parent67042f1f0314da51dbea6602ddcdd0a4ab347bc7 (diff)
fdo#46808, use XComponentContext in SfxLibraryContainer
Change-Id: I6f66fc69a40e2cd2ef2372e0413ff95b6202c5c5
-rw-r--r--basic/source/inc/namecont.hxx2
-rw-r--r--basic/source/uno/dlgcont.cxx38
-rw-r--r--basic/source/uno/namecont.cxx20
-rw-r--r--basic/source/uno/scriptcont.cxx8
4 files changed, 33 insertions, 35 deletions
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();