diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-10-29 10:00:35 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-10-30 22:04:01 +0200 |
commit | 22ba855d1a2317361c6ad8b631ae1bd707887435 (patch) | |
tree | ddbacfd89b4f6ed6696f773bc1a4f1d0395b74d9 /scripting/source/provider | |
parent | f528fff9b58e95ed572b226c0fec29f9a0464725 (diff) |
Prepare for removal of non-const operator[] from Sequence in scripting
Change-Id: Ia85fe6de38674c7982b0f983a798a4d99ec1fb70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124384
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'scripting/source/provider')
-rw-r--r-- | scripting/source/provider/ActiveMSPList.cxx | 7 | ||||
-rw-r--r-- | scripting/source/provider/BrowseNodeFactoryImpl.cxx | 12 | ||||
-rw-r--r-- | scripting/source/provider/MasterScriptProvider.cxx | 12 | ||||
-rw-r--r-- | scripting/source/provider/ProviderCache.cxx | 5 |
4 files changed, 21 insertions, 15 deletions
diff --git a/scripting/source/provider/ActiveMSPList.cxx b/scripting/source/provider/ActiveMSPList.cxx index 35d50dea1b67..85ff36fb1b86 100644 --- a/scripting/source/provider/ActiveMSPList.cxx +++ b/scripting/source/provider/ActiveMSPList.cxx @@ -275,19 +275,18 @@ ActiveMSPList::createNonDocMSPs() { // do creation of user and share MSPs here OUString serviceName("com.sun.star.script.provider.MasterScriptProvider"); - Sequence< Any > args(1); - args[ 0 ] <<= userDirString; + Sequence< Any > args{ Any(userDirString) }; Reference< provider::XScriptProvider > userMsp( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( serviceName, args, m_xContext ), UNO_QUERY ); // should check if provider reference is valid m_hMsps[ userDirString ] = userMsp; - args[ 0 ] <<= shareDirString; + args = { Any(shareDirString) }; Reference< provider::XScriptProvider > shareMsp( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( serviceName, args, m_xContext ), UNO_QUERY ); // should check if provider reference is valid m_hMsps[ shareDirString ] = shareMsp; - args[ 0 ] <<= bundledDirString; + args = { Any(bundledDirString) }; Reference< provider::XScriptProvider > bundledMsp( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( serviceName, args, m_xContext ), UNO_QUERY ); // should check if provider reference is valid m_hMsps[ bundledDirString ] = bundledMsp; diff --git a/scripting/source/provider/BrowseNodeFactoryImpl.cxx b/scripting/source/provider/BrowseNodeFactoryImpl.cxx index 6caa71c406b6..15055eb8514c 100644 --- a/scripting/source/provider/BrowseNodeFactoryImpl.cxx +++ b/scripting/source/provider/BrowseNodeFactoryImpl.cxx @@ -182,11 +182,12 @@ public: } Sequence< Reference< browse::XBrowseNode > > children( m_hBNA->size() ); + auto childrenRange = asNonConstRange(children); sal_Int32 index = 0; for ( const auto& str : m_vStr ) { - children[ index ].set( m_hBNA->find( str )->second ); + childrenRange[ index ].set( m_hBNA->find( str )->second ); ++index; } @@ -404,10 +405,11 @@ public: ::std::sort( aVNodes.begin(), aVNodes.end(), alphaSortForBNodes() ); Sequence < Reference< browse::XBrowseNode > > children( aVNodes.size() ); + auto childrenRange = asNonConstRange(children); sal_Int32 i = 0; for ( const auto& rxNode : aVNodes ) { - children[ i ].set( rxNode ); + childrenRange[ i ].set( rxNode ); i++; } return children; @@ -495,10 +497,11 @@ public: // no need to sort user, share, doc1...docN //::std::sort( m_vNodes.begin(), m_vNodes.end(), alphaSortForBNodes() ); Sequence < Reference< browse::XBrowseNode > > children( m_vNodes.size() ); + auto childrenRange = asNonConstRange(children); sal_Int32 i = 0; for ( const auto& rxNode : m_vNodes ) { - children[ i ].set( rxNode ); + childrenRange[ i ].set( rxNode ); i++; } return children; @@ -553,10 +556,11 @@ public: Sequence< Reference< browse::XBrowseNode > > children( locnBNs.size() ); + auto childrenRange = asNonConstRange(children); for ( size_t j = 0; j < locnBNs.size(); j++ ) { - children[j] = new LocationBrowseNode( locnBNs[j] ); + childrenRange[j] = new LocationBrowseNode( locnBNs[j] ); } return children; diff --git a/scripting/source/provider/MasterScriptProvider.cxx b/scripting/source/provider/MasterScriptProvider.cxx index 57cc596a7878..c30a290a0c64 100644 --- a/scripting/source/provider/MasterScriptProvider.cxx +++ b/scripting/source/provider/MasterScriptProvider.cxx @@ -97,13 +97,14 @@ void SAL_CALL MasterScriptProvider::initialize( const Sequence < Any >& args ) if ( len != 0 ) { + auto pinvokeArgs = invokeArgs.getArray(); // check if first parameter is a string // if it is, this implies that this is a MSP created // with a user or share ctx ( used for browse functionality ) if ( args[ 0 ] >>= m_sCtxString ) { - invokeArgs[ 0 ] = args[ 0 ]; + pinvokeArgs[ 0 ] = args[ 0 ]; if ( m_sCtxString.startsWith( "vnd.sun.star.tdoc" ) ) { m_xModel = MiscUtils::tDocUrlToModel( m_sCtxString ); @@ -152,9 +153,9 @@ void SAL_CALL MasterScriptProvider::initialize( const Sequence < Any >& args ) } if ( m_xInvocationContext.is() && m_xInvocationContext != m_xModel ) - invokeArgs[ 0 ] <<= m_xInvocationContext; + pinvokeArgs[ 0 ] <<= m_xInvocationContext; else - invokeArgs[ 0 ] <<= m_sCtxString; + pinvokeArgs[ 0 ] <<= m_sCtxString; } OUString pkgSpec = "uno_packages"; @@ -395,15 +396,16 @@ MasterScriptProvider::getChildNodes() size++; } Sequence< Reference< browse::XBrowseNode > > children( size ); + auto childrenRange = asNonConstRange(children); sal_Int32 provIndex = 0; for ( ; provIndex < providers.getLength(); provIndex++ ) { - children[ provIndex ].set( providers[ provIndex ], UNO_QUERY ); + childrenRange[ provIndex ].set( providers[ provIndex ], UNO_QUERY ); } if ( hasPkgs ) { - children[ provIndex ].set( m_xMSPPkg, UNO_QUERY ); + childrenRange[ provIndex ].set( m_xMSPPkg, UNO_QUERY ); } diff --git a/scripting/source/provider/ProviderCache.cxx b/scripting/source/provider/ProviderCache.cxx index be134725635e..8533fc384ed6 100644 --- a/scripting/source/provider/ProviderCache.cxx +++ b/scripting/source/provider/ProviderCache.cxx @@ -91,13 +91,14 @@ ProviderCache::getAllProviders() // should assert if size !> 0 if ( !m_hProviderDetailsCache.empty() ) { + auto pproviders = providers.getArray(); sal_Int32 providerIndex = 0; for (auto& rDetail : m_hProviderDetailsCache) { Reference<provider::XScriptProvider> xScriptProvider = rDetail.second.provider; if ( xScriptProvider.is() ) { - providers[ providerIndex++ ] = xScriptProvider; + pproviders[ providerIndex++ ] = xScriptProvider; } else { @@ -105,7 +106,7 @@ ProviderCache::getAllProviders() try { xScriptProvider = createProvider(rDetail.second); - providers[ providerIndex++ ] = xScriptProvider; + pproviders[ providerIndex++ ] = xScriptProvider; } catch ( const Exception& ) { |