diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2025-02-05 10:22:46 +0000 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2025-02-05 14:01:39 +0100 |
commit | 7daf54c93dbcdfb74a84e2e8e0b7725c67bf0941 (patch) | |
tree | ffb1ecbe6b0808204c0d81c90cc345cf0c5a4306 /basic/source/basmgr | |
parent | 09a351281ad82a6b4fc0a5def77ad3df4a0f031a (diff) |
avoid uno casting cost, and simplify
these are always XStorageBasedLibraryContainers, so transport
around as that and can avoid casting and some expensive throw/catches
Change-Id: I772efceea3bb4f38d70be0497345f5f81173494c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181156
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'basic/source/basmgr')
-rw-r--r-- | basic/source/basmgr/basicmanagerrepository.cxx | 22 | ||||
-rw-r--r-- | basic/source/basmgr/basmgr.cxx | 4 |
2 files changed, 13 insertions, 13 deletions
diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx index 260369cbab21..6581f225f8b3 100644 --- a/basic/source/basmgr/basicmanagerrepository.cxx +++ b/basic/source/basmgr/basicmanagerrepository.cxx @@ -55,7 +55,7 @@ namespace basic using ::com::sun::star::uno::XInterface; using ::com::sun::star::uno::UNO_QUERY; using ::com::sun::star::embed::XStorage; - using ::com::sun::star::script::XPersistentLibraryContainer; + using ::com::sun::star::script::XStorageBasedLibraryContainer; using ::com::sun::star::uno::UNO_QUERY_THROW; using ::com::sun::star::uno::Exception; using ::com::sun::star::document::XStorageBasedDocument; @@ -168,15 +168,15 @@ namespace basic */ static bool impl_getDocumentLibraryContainers_nothrow( const Reference< XModel >& _rxDocument, - Reference< XPersistentLibraryContainer >& _out_rxBasicLibraries, - Reference< XPersistentLibraryContainer >& _out_rxDialogLibraries + Reference<XStorageBasedLibraryContainer>& _out_rxBasicLibraries, + Reference<XStorageBasedLibraryContainer>& _out_rxDialogLibraries ); /** initializes the given library containers, which belong to a document */ static void impl_initDocLibraryContainers_nothrow( - const Reference< XPersistentLibraryContainer >& _rxBasicLibraries, - const Reference< XPersistentLibraryContainer >& _rxDialogLibraries + const Reference<XStorageBasedLibraryContainer>& _rxBasicLibraries, + const Reference<XStorageBasedLibraryContainer>& _rxDialogLibraries ); // OEventListenerAdapter overridables @@ -374,7 +374,7 @@ namespace basic return m_aStore.find(xNormalized) != m_aStore.end(); } - void ImplRepository::impl_initDocLibraryContainers_nothrow( const Reference< XPersistentLibraryContainer >& _rxBasicLibraries, const Reference< XPersistentLibraryContainer >& _rxDialogLibraries ) + void ImplRepository::impl_initDocLibraryContainers_nothrow( const Reference<XStorageBasedLibraryContainer>& _rxBasicLibraries, const Reference<XStorageBasedLibraryContainer>& _rxDialogLibraries ) { OSL_PRECOND( _rxBasicLibraries.is() && _rxDialogLibraries.is(), "ImplRepository::impl_initDocLibraryContainers_nothrow: illegal library containers, this will crash!" ); @@ -413,8 +413,8 @@ namespace basic // the document is not able to provide the storage it is based on. return false; } - Reference< XPersistentLibraryContainer > xBasicLibs; - Reference< XPersistentLibraryContainer > xDialogLibs; + Reference<XStorageBasedLibraryContainer> xBasicLibs; + Reference<XStorageBasedLibraryContainer> xDialogLibs; if ( !impl_getDocumentLibraryContainers_nothrow( _rxDocumentModel, xBasicLibs, xDialogLibs ) ) { m_aStore.erase(location); @@ -519,15 +519,15 @@ namespace basic bool ImplRepository::impl_getDocumentLibraryContainers_nothrow( const Reference< XModel >& _rxDocument, - Reference< XPersistentLibraryContainer >& _out_rxBasicLibraries, Reference< XPersistentLibraryContainer >& _out_rxDialogLibraries ) + Reference<XStorageBasedLibraryContainer>& _out_rxBasicLibraries, Reference<XStorageBasedLibraryContainer>& _out_rxDialogLibraries ) { _out_rxBasicLibraries.clear(); _out_rxDialogLibraries.clear(); try { Reference< XEmbeddedScripts > xScripts( _rxDocument, UNO_QUERY_THROW ); - _out_rxBasicLibraries.set( xScripts->getBasicLibraries(), UNO_QUERY_THROW ); - _out_rxDialogLibraries.set( xScripts->getDialogLibraries(), UNO_QUERY_THROW ); + _out_rxBasicLibraries.set( xScripts->getBasicLibraries() ); + _out_rxDialogLibraries.set( xScripts->getDialogLibraries() ); } catch( const Exception& ) { diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx index 5784697e6f47..3112021319da 100644 --- a/basic/source/basmgr/basmgr.cxx +++ b/basic/source/basmgr/basmgr.cxx @@ -510,12 +510,12 @@ static void copyToLibraryContainer( StarBASIC* pBasic, const LibraryContainerInf } } -const uno::Reference< script::XPersistentLibraryContainer >& BasicManager::GetDialogLibraryContainer() const +const uno::Reference< script::XStorageBasedLibraryContainer >& BasicManager::GetDialogLibraryContainer() const { return maContainerInfo.mxDialogCont; } -const uno::Reference< script::XPersistentLibraryContainer >& BasicManager::GetScriptLibraryContainer() const +const uno::Reference< script::XStorageBasedLibraryContainer >& BasicManager::GetScriptLibraryContainer() const { return maContainerInfo.mxScriptCont; } |