summaryrefslogtreecommitdiff
path: root/scripting/source/provider
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2021-10-29 10:00:35 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2021-10-30 22:04:01 +0200
commit22ba855d1a2317361c6ad8b631ae1bd707887435 (patch)
treeddbacfd89b4f6ed6696f773bc1a4f1d0395b74d9 /scripting/source/provider
parentf528fff9b58e95ed572b226c0fec29f9a0464725 (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.cxx7
-rw-r--r--scripting/source/provider/BrowseNodeFactoryImpl.cxx12
-rw-r--r--scripting/source/provider/MasterScriptProvider.cxx12
-rw-r--r--scripting/source/provider/ProviderCache.cxx5
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& )
{