framework/inc/helper/ocomponentaccess.hxx | 5 framework/inc/helper/ocomponentenumeration.hxx | 7 framework/inc/jobs/jobdata.hxx | 10 - framework/inc/jobs/jobresult.hxx | 6 framework/source/dispatch/closedispatcher.cxx | 8 framework/source/dispatch/startmoduledispatcher.cxx | 7 framework/source/fwe/classes/framelistanalyzer.cxx | 12 - framework/source/fwe/helper/configimporter.cxx | 6 framework/source/helper/ocomponentaccess.cxx | 12 - framework/source/helper/ocomponentenumeration.cxx | 6 framework/source/jobs/job.cxx | 7 framework/source/jobs/jobdata.cxx | 35 +--- framework/source/jobs/jobdispatch.cxx | 4 framework/source/jobs/jobexecutor.cxx | 6 framework/source/jobs/jobresult.cxx | 9 - framework/source/loadenv/loadenv.cxx | 2 framework/source/services/frame.cxx | 4 framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx | 6 framework/source/uiconfiguration/uiconfigurationmanager.cxx | 7 framework/source/uiconfiguration/windowstateconfiguration.cxx | 55 +++--- include/framework/configimporter.hxx | 3 include/framework/framelistanalyzer.hxx | 7 include/linguistic/misc.hxx | 2 include/linguistic/spelldta.hxx | 8 linguistic/source/convdiclist.cxx | 57 ++---- linguistic/source/dicimp.cxx | 87 ++-------- linguistic/source/dicimp.hxx | 5 linguistic/source/dlistimp.cxx | 21 +- linguistic/source/lngsvcmgr.cxx | 2 linguistic/source/misc2.cxx | 21 +- linguistic/source/spelldsp.cxx | 22 +- linguistic/source/spelldta.cxx | 55 ++---- scripting/source/basprov/baslibnode.cxx | 10 - scripting/source/provider/BrowseNodeFactoryImpl.cxx | 35 +--- scripting/source/provider/ProviderCache.cxx | 4 sfx2/source/doc/sfxbasemodel.cxx | 4 36 files changed, 240 insertions(+), 317 deletions(-)
New commits: commit 3f7f497192deb486b1b959996c14f8f094146945 Author: Noel Grandin <noelgran...@gmail.com> Date: Tue Feb 16 19:58:33 2016 +0200 sequence->vector in framework Change-Id: I457c3da4f4a31f58d688dcd96a2ccfc36518490d Reviewed-on: https://gerrit.libreoffice.org/23692 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noelgran...@gmail.com> diff --git a/framework/inc/helper/ocomponentaccess.hxx b/framework/inc/helper/ocomponentaccess.hxx index f499270..9f7c88d 100644 --- a/framework/inc/helper/ocomponentaccess.hxx +++ b/framework/inc/helper/ocomponentaccess.hxx @@ -33,6 +33,7 @@ #include <cppuhelper/implbase.hxx> #include <cppuhelper/weakref.hxx> +#include <vector> namespace framework{ @@ -142,8 +143,8 @@ class OComponentAccess : public ::cppu::WeakImplHelper< css::container::XEnum and must collect all information. *//*-*****************************************************************************************************/ - void impl_collectAllChildComponents( const css::uno::Reference< css::frame::XFramesSupplier >& xNode , - css::uno::Sequence< css::uno::Reference< css::lang::XComponent > >& seqComponents ); + void impl_collectAllChildComponents( const css::uno::Reference< css::frame::XFramesSupplier >& xNode , + std::vector< css::uno::Reference< css::lang::XComponent > >& seqComponents ); /*-**************************************************************************************************** @short get the component of a frame diff --git a/framework/inc/helper/ocomponentenumeration.hxx b/framework/inc/helper/ocomponentenumeration.hxx index e382537..8e0c144 100644 --- a/framework/inc/helper/ocomponentenumeration.hxx +++ b/framework/inc/helper/ocomponentenumeration.hxx @@ -29,6 +29,7 @@ #include <com/sun/star/lang/XComponent.hpp> #include <cppuhelper/implbase.hxx> +#include <vector> namespace framework{ @@ -66,7 +67,7 @@ class OComponentEnumeration : public ::cppu::WeakImplHelper< css::container::X @onerror Do nothing and reset this object to default with an empty list. *//*-*****************************************************************************************************/ - OComponentEnumeration( const css::uno::Sequence< css::uno::Reference< css::lang::XComponent > >& seqComponents ); + OComponentEnumeration( const std::vector< css::uno::Reference< css::lang::XComponent > >& seqComponents ); // XEventListener @@ -160,8 +161,8 @@ class OComponentEnumeration : public ::cppu::WeakImplHelper< css::container::X private: - sal_uInt32 m_nPosition; /// current position in enumeration - css::uno::Sequence< css::uno::Reference< css::lang::XComponent > > m_seqComponents; /// list of current components + sal_uInt32 m_nPosition; /// current position in enumeration + std::vector< css::uno::Reference< css::lang::XComponent > > m_seqComponents; /// list of current components }; // class OComponentEnumeration diff --git a/framework/inc/jobs/jobdata.hxx b/framework/inc/jobs/jobdata.hxx index d60256f..e49716b 100644 --- a/framework/inc/jobs/jobdata.hxx +++ b/framework/inc/jobs/jobdata.hxx @@ -163,7 +163,7 @@ class JobData job specific configuration items ... unknown for us! It's readed from the configuration. Don't set it from outside! */ - css::uno::Sequence< css::beans::NamedValue > m_lArguments; + std::vector< css::beans::NamedValue > m_lArguments; /** after a job was successfully executed (by any outside code using our @@ -190,7 +190,7 @@ class JobData OUString getService () const; OUString getEvent () const; css::uno::Sequence< css::beans::NamedValue > getConfig () const; - css::uno::Sequence< css::beans::NamedValue > getJobConfig () const; + std::vector< css::beans::NamedValue > getJobConfig () const; bool hasConfig () const; bool hasCorrectContext ( const OUString& rModuleIdent ) const; @@ -200,12 +200,12 @@ class JobData void setService ( const OUString& sService ); void setEvent ( const OUString& sEvent , const OUString& sAlias ); - void setJobConfig ( const css::uno::Sequence< css::beans::NamedValue >& lArguments ); + void setJobConfig ( const std::vector< css::beans::NamedValue >& lArguments ); void setResult ( const JobResult& aResult ); void disableJob ( ); - static css::uno::Sequence< OUString > getEnabledJobsForEvent( const css::uno::Reference< css::uno::XComponentContext >& rxContext, - const OUString& sEvent ); + static std::vector< OUString > getEnabledJobsForEvent( const css::uno::Reference< css::uno::XComponentContext >& rxContext, + const OUString& sEvent ); static void appendEnabledJobsForEvent( const css::uno::Reference< css::uno::XComponentContext >& rxContext, const OUString& sEvent , diff --git a/framework/inc/jobs/jobresult.hxx b/framework/inc/jobs/jobresult.hxx index 89ebaa8..c4d515b 100644 --- a/framework/inc/jobs/jobresult.hxx +++ b/framework/inc/jobs/jobresult.hxx @@ -83,7 +83,7 @@ class JobResult write it to the configuration. But that's part of any user of us. We provide this information here only. */ - css::uno::Sequence< css::beans::NamedValue > m_lArguments; + std::vector< css::beans::NamedValue > m_lArguments; /** an executed job can force his deactivation @@ -112,8 +112,8 @@ class JobResult void operator=( const JobResult& rCopy ); bool existPart ( sal_uInt32 eParts ) const; - css::uno::Sequence< css::beans::NamedValue > getArguments ( ) const; - css::frame::DispatchResultEvent getDispatchResult( ) const; + std::vector< css::beans::NamedValue > getArguments ( ) const; + css::frame::DispatchResultEvent getDispatchResult( ) const; }; } // namespace framework diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx index 02f0dee..f2de647 100644 --- a/framework/source/dispatch/closedispatcher.cxx +++ b/framework/source/dispatch/closedispatcher.cxx @@ -322,7 +322,7 @@ IMPL_LINK_NOARG_TYPED(CloseDispatcher, impl_asyncCallback, LinkParamNone*, void) // c1) there is as minimum 1 frame open, which is visible and contains a document // different from our one. And its not the help! // => close our frame only - nothing else. - if (aCheck2.m_lOtherVisibleFrames.getLength()>0) + if (!aCheck2.m_lOtherVisibleFrames.empty()) bCloseFrame = true; else @@ -332,7 +332,7 @@ IMPL_LINK_NOARG_TYPED(CloseDispatcher, impl_asyncCallback, LinkParamNone*, void) // close the frame. if ( (!bCloseAllViewsToo ) && - (aCheck2.m_lModelFrames.getLength() > 0) + (!aCheck2.m_lModelFrames.empty()) ) bCloseFrame = true; @@ -443,8 +443,8 @@ bool CloseDispatcher::implts_prepareFrameForClosing(const css::uno::Reference< c css::uno::Reference< css::frame::XFramesSupplier > xDesktop( css::frame::Desktop::create( xContext ), css::uno::UNO_QUERY_THROW); FrameListAnalyzer aCheck(xDesktop, xFrame, FrameListAnalyzer::E_ALL); - sal_Int32 c = aCheck.m_lModelFrames.getLength(); - sal_Int32 i = 0; + size_t c = aCheck.m_lModelFrames.size(); + size_t i = 0; for (i=0; i<c; ++i) { if (!fpf::closeIt(aCheck.m_lModelFrames[i], false)) diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx index ff9fdb6..e9f37e9 100644 --- a/framework/source/dispatch/startmoduledispatcher.cxx +++ b/framework/source/dispatch/startmoduledispatcher.cxx @@ -121,12 +121,9 @@ bool StartModuleDispatcher::implts_isBackingModePossible() FrameListAnalyzer::E_HELP | FrameListAnalyzer::E_BACKINGCOMPONENT); bool bIsPossible = false; - ::sal_Int32 nVisibleFrames = aCheck.m_lOtherVisibleFrames.getLength (); - if ( - ( ! aCheck.m_xBackingComponent.is ()) && - ( nVisibleFrames < 1 ) - ) + if ( ! aCheck.m_xBackingComponent.is() + && aCheck.m_lOtherVisibleFrames.empty() ) { bIsPossible = true; } diff --git a/framework/source/fwe/classes/framelistanalyzer.cxx b/framework/source/fwe/classes/framelistanalyzer.cxx index 0feddc3..ed9d751 100644 --- a/framework/source/fwe/classes/framelistanalyzer.cxx +++ b/framework/source/fwe/classes/framelistanalyzer.cxx @@ -86,9 +86,9 @@ void FrameListAnalyzer::impl_analyze() sal_Int32 nModelStep = 0; sal_Int32 nCount = xFrameContainer->getCount(); - m_lOtherVisibleFrames.realloc(nCount); - m_lOtherHiddenFrames.realloc(nCount); - m_lModelFrames.realloc(nCount); + m_lOtherVisibleFrames.resize(nCount); + m_lOtherHiddenFrames.resize(nCount); + m_lModelFrames.resize(nCount); // ask for the model of the given reference frame. // It must be compared with the model of every frame of the container @@ -258,9 +258,9 @@ void FrameListAnalyzer::impl_analyze() // Pack both lists by using the actual step positions. // All empty or ignorable items should exist at the end of these lists // behind the position pointers. So they will be removed by a reallocation. - m_lOtherVisibleFrames.realloc(nVisibleStep); - m_lOtherHiddenFrames.realloc(nHiddenStep); - m_lModelFrames.realloc(nModelStep); + m_lOtherVisibleFrames.resize(nVisibleStep); + m_lOtherHiddenFrames.resize(nHiddenStep); + m_lModelFrames.resize(nModelStep); } } // namespace framework diff --git a/framework/source/fwe/helper/configimporter.cxx b/framework/source/fwe/helper/configimporter.cxx index e1306991..27c9849 100644 --- a/framework/source/fwe/helper/configimporter.cxx +++ b/framework/source/fwe/helper/configimporter.cxx @@ -30,7 +30,7 @@ namespace framework bool UIConfigurationImporterOOo1x::ImportCustomToolbars( const uno::Reference< ui::XUIConfigurationManager2 >& rContainerFactory, - uno::Sequence< uno::Reference< container::XIndexContainer > >& rSeqContainer, + std::vector< uno::Reference< container::XIndexContainer > >& rSeqContainer, const uno::Reference< uno::XComponentContext >& rxContext, const uno::Reference< embed::XStorage >& rToolbarStorage ) { @@ -57,9 +57,7 @@ bool UIConfigurationImporterOOo1x::ImportCustomToolbars( uno::Reference< container::XIndexContainer > xContainer = rContainerFactory->createSettings(); if ( ToolBoxConfiguration::LoadToolBox( rxContext, xInputStream, xContainer )) { - sal_uInt32 nIndex = rSeqContainer.getLength(); - rSeqContainer.realloc( nIndex+1 ); - rSeqContainer[nIndex] = xContainer; + rSeqContainer.push_back( xContainer ); bResult = true; } } diff --git a/framework/source/helper/ocomponentaccess.cxx b/framework/source/helper/ocomponentaccess.cxx index 68c7f58..6b13cec 100644 --- a/framework/source/helper/ocomponentaccess.cxx +++ b/framework/source/helper/ocomponentaccess.cxx @@ -65,7 +65,7 @@ css::uno::Reference< XEnumeration > SAL_CALL OComponentAccess::createEnumeration // Initialize a new enumeration ... if some tasks and his components exist! // (OTasksEnumeration will make an assert, if we initialize the new instance without valid values!) - Sequence< css::uno::Reference< XComponent > > seqComponents; + std::vector< css::uno::Reference< XComponent > > seqComponents; impl_collectAllChildComponents( css::uno::Reference< XFramesSupplier >( xLock, UNO_QUERY ), seqComponents ); OComponentEnumeration* pEnumeration = new OComponentEnumeration( seqComponents ); xReturn.set( static_cast<OWeakObject*>(pEnumeration), UNO_QUERY ); @@ -104,8 +104,8 @@ sal_Bool SAL_CALL OComponentAccess::hasElements() throw( RuntimeException, std:: } -void OComponentAccess::impl_collectAllChildComponents( const css::uno::Reference< XFramesSupplier >& xNode , - Sequence< css::uno::Reference< XComponent > >& seqComponents ) +void OComponentAccess::impl_collectAllChildComponents( const css::uno::Reference< XFramesSupplier >& xNode , + std::vector< css::uno::Reference< XComponent > >& seqComponents ) { // If valid node was given ... if( xNode.is() ) @@ -115,8 +115,6 @@ void OComponentAccess::impl_collectAllChildComponents( const css::uno::Refere // Get the container of current node, collect the components of existing child frames // and go down to next level in tree (recursive!). - sal_Int32 nComponentCount = seqComponents.getLength(); - const css::uno::Reference< XFrames > xContainer = xNode->getFrames(); const Sequence< css::uno::Reference< XFrame > > seqFrames = xContainer->queryFrames( FrameSearchFlag::CHILDREN ); @@ -126,9 +124,7 @@ void OComponentAccess::impl_collectAllChildComponents( const css::uno::Refere css::uno::Reference< XComponent > xComponent = impl_getFrameComponent( seqFrames[nFrame] ); if( xComponent.is() ) { - nComponentCount++; - seqComponents.realloc( nComponentCount ); - seqComponents[nComponentCount-1] = xComponent; + seqComponents.push_back( xComponent ); } } } diff --git a/framework/source/helper/ocomponentenumeration.cxx b/framework/source/helper/ocomponentenumeration.cxx index dce0ead..9f4768c 100644 --- a/framework/source/helper/ocomponentenumeration.cxx +++ b/framework/source/helper/ocomponentenumeration.cxx @@ -31,7 +31,7 @@ using namespace ::osl; // constructor -OComponentEnumeration::OComponentEnumeration( const Sequence< css::uno::Reference< XComponent > >& seqComponents ) +OComponentEnumeration::OComponentEnumeration( const std::vector< css::uno::Reference< XComponent > >& seqComponents ) : m_nPosition ( 0 ) // 0 is the first position for a valid list and the right value for an invalid list to! , m_seqComponents ( seqComponents ) {} @@ -67,7 +67,7 @@ sal_Bool SAL_CALL OComponentEnumeration::hasMoreElements() throw( RuntimeExcepti // => The last one is getLength() - 1! // m_nPosition's current value is the position for the next element, which will be return, if user call "nextElement()" // => We have more elements if current position less then the length of the list! - return ( m_nPosition < (sal_uInt32)(m_seqComponents.getLength()) ); + return ( m_nPosition < (sal_uInt32)(m_seqComponents.size()) ); } // XEnumeration @@ -105,7 +105,7 @@ void OComponentEnumeration::impl_resetObject() // I can't say, which one is the first. Normally the disposing-call - but other way .... // Delete list of components. - m_seqComponents.realloc( 0 ); + m_seqComponents.clear(); // Reset position in list. // The list has no elements anymore. m_nPosition is normally the current position in list for nextElement! // But a position of 0 in a list of 0 items is an invalid state. This constellation can't work in future. diff --git a/framework/source/jobs/job.cxx b/framework/source/jobs/job.cxx index 8980495..527c454 100644 --- a/framework/source/jobs/job.cxx +++ b/framework/source/jobs/job.cxx @@ -29,6 +29,7 @@ #include <com/sun/star/lang/DisposedException.hpp> #include <comphelper/processfactory.hxx> +#include <comphelper/sequence.hxx> #include <rtl/ustrbuf.hxx> #include <vcl/svapp.hxx> @@ -364,7 +365,7 @@ css::uno::Sequence< css::beans::NamedValue > Job::impl_generateJobArgs( /*IN*/ c // Means: if this job has any configuration data. Note: only really // filled lists will be set to the return structure at the end of this method. css::uno::Sequence< css::beans::NamedValue > lConfigArgs; - css::uno::Sequence< css::beans::NamedValue > lJobConfigArgs; + std::vector< css::beans::NamedValue > lJobConfigArgs; if (eMode==JobData::E_ALIAS || eMode==JobData::E_EVENT) { lConfigArgs = m_aJobCfg.getConfig(); @@ -382,12 +383,12 @@ css::uno::Sequence< css::beans::NamedValue > Job::impl_generateJobArgs( /*IN*/ c lAllArgs[nLength].Name = "Config"; lAllArgs[nLength].Value <<= lConfigArgs; } - if (lJobConfigArgs.getLength()>0) + if (!lJobConfigArgs.empty()) { sal_Int32 nLength = lAllArgs.getLength(); lAllArgs.realloc(nLength+1); lAllArgs[nLength].Name = "JobConfig"; - lAllArgs[nLength].Value <<= lJobConfigArgs; + lAllArgs[nLength].Value <<= comphelper::containerToSequence(lJobConfigArgs); } if (lEnvArgs.getLength()>0) { diff --git a/framework/source/jobs/jobdata.cxx b/framework/source/jobs/jobdata.cxx index 14f4ddc..c3b453d 100644 --- a/framework/source/jobs/jobdata.cxx +++ b/framework/source/jobs/jobdata.cxx @@ -151,7 +151,7 @@ void JobData::setAlias( const OUString& sAlias ) { css::uno::Sequence< OUString > lArgumentNames = xArgumentList->getElementNames(); sal_Int32 nCount = lArgumentNames.getLength(); - m_lArguments.realloc(nCount); + m_lArguments.resize(nCount); for (sal_Int32 i=0; i<nCount; ++i) { m_lArguments[i].Name = lArgumentNames[i]; @@ -222,7 +222,7 @@ void JobData::setEvent( const OUString& sEvent , @param lArguments list of arguments, which should be set for this job */ -void JobData::setJobConfig( const css::uno::Sequence< css::beans::NamedValue >& lArguments ) +void JobData::setJobConfig( const std::vector< css::beans::NamedValue >& lArguments ) { SolarMutexGuard g; @@ -246,7 +246,7 @@ void JobData::setJobConfig( const css::uno::Sequence< css::beans::NamedValue >& css::uno::Reference< css::beans::XMultiHierarchicalPropertySet > xArgumentList(aConfig.cfg(), css::uno::UNO_QUERY); if (xArgumentList.is()) { - sal_Int32 nCount = m_lArguments.getLength(); + sal_Int32 nCount = m_lArguments.size(); css::uno::Sequence< OUString > lNames (nCount); css::uno::Sequence< css::uno::Any > lValues(nCount); @@ -350,7 +350,7 @@ OUString JobData::getEvent() const return m_sEvent; } -css::uno::Sequence< css::beans::NamedValue > JobData::getJobConfig() const +std::vector< css::beans::NamedValue > JobData::getJobConfig() const { SolarMutexGuard g; return m_lArguments; @@ -471,9 +471,9 @@ void JobData::appendEnabledJobsForEvent( const css::uno::Reference< css::uno::XC const OUString& sEvent , ::std::vector< JobData::TJob2DocEventBinding >& lJobs ) { - css::uno::Sequence< OUString > lAdditionalJobs = JobData::getEnabledJobsForEvent(rxContext, sEvent); - sal_Int32 c = lAdditionalJobs.getLength(); - sal_Int32 i = 0; + std::vector< OUString > lAdditionalJobs = JobData::getEnabledJobsForEvent(rxContext, sEvent); + sal_Int32 c = lAdditionalJobs.size(); + sal_Int32 i = 0; for (i=0; i<c; ++i) { @@ -505,32 +505,30 @@ bool JobData::hasCorrectContext(const OUString& rModuleIdent) const return false; } -/** - */ -css::uno::Sequence< OUString > JobData::getEnabledJobsForEvent( const css::uno::Reference< css::uno::XComponentContext >& rxContext, +std::vector< OUString > JobData::getEnabledJobsForEvent( const css::uno::Reference< css::uno::XComponentContext >& rxContext, const OUString& sEvent ) { // create a config access to "/org.openoffice.Office.Jobs/Events" ConfigAccess aConfig(rxContext, "/org.openoffice.Office.Jobs/Events"); aConfig.open(ConfigAccess::E_READONLY); if (aConfig.getMode()==ConfigAccess::E_CLOSED) - return css::uno::Sequence< OUString >(); + return std::vector< OUString >(); css::uno::Reference< css::container::XHierarchicalNameAccess > xEventRegistry(aConfig.cfg(), css::uno::UNO_QUERY); if (!xEventRegistry.is()) - return css::uno::Sequence< OUString >(); + return std::vector< OUString >(); // check if the given event exist inside list of registered ones OUString sPath(sEvent + "/JobList"); if (!xEventRegistry->hasByHierarchicalName(sPath)) - return css::uno::Sequence< OUString >(); + return std::vector< OUString >(); // step to the job list, which is a child of the event node inside cfg // e.g. "/org.openoffice.Office.Jobs/Events/<event name>/JobList" css::uno::Any aJobList = xEventRegistry->getByHierarchicalName(sPath); css::uno::Reference< css::container::XNameAccess > xJobList; if (!(aJobList >>= xJobList) || !xJobList.is()) - return css::uno::Sequence< OUString >(); + return std::vector< OUString >(); // get all alias names of jobs, which are part of this job list // But Some of them can be disabled by its time stamp values. @@ -541,8 +539,7 @@ css::uno::Sequence< OUString > JobData::getEnabledJobsForEvent( const css::uno:: OUString* pAllJobs = lAllJobs.getArray(); sal_Int32 c = lAllJobs.getLength(); - css::uno::Sequence< OUString > lEnabledJobs(c); - OUString* pEnabledJobs = lEnabledJobs.getArray(); + std::vector< OUString > lEnabledJobs(c); sal_Int32 d = 0; for (sal_Int32 s=0; s<c; ++s) @@ -565,10 +562,10 @@ css::uno::Sequence< OUString > JobData::getEnabledJobsForEvent( const css::uno:: if (!isEnabled(sAdminTime, sUserTime)) continue; - pEnabledJobs[d] = pAllJobs[s]; + lEnabledJobs[d] = pAllJobs[s]; ++d; } - lEnabledJobs.realloc(d); + lEnabledJobs.resize(d); aConfig.close(); @@ -595,7 +592,7 @@ void JobData::impl_reset() m_sService.clear(); m_sContext.clear(); m_sEvent.clear(); - m_lArguments = css::uno::Sequence< css::beans::NamedValue >(); + m_lArguments.clear(); } } // namespace framework diff --git a/framework/source/jobs/jobdispatch.cxx b/framework/source/jobs/jobdispatch.cxx index e855de8..78e014c 100644 --- a/framework/source/jobs/jobdispatch.cxx +++ b/framework/source/jobs/jobdispatch.cxx @@ -311,7 +311,7 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const OUString& // filter disabled jobs using it's time stamp values. /* SAFE { */ SolarMutexResettableGuard aReadLock; - css::uno::Sequence< OUString > lJobs = JobData::getEnabledJobsForEvent(m_xContext, sEvent); + std::vector< OUString > lJobs = JobData::getEnabledJobsForEvent(m_xContext, sEvent); aReadLock.clear(); /* } SAFE */ @@ -323,7 +323,7 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const OUString& // It's not really an error, if no registered jobs could be located. // Step over all found jobs and execute it int nExecutedJobs=0; - for (int j=0; j<lJobs.getLength(); ++j) + for (size_t j=0; j<lJobs.size(); ++j) { /* SAFE { */ aReadLock.reset(); diff --git a/framework/source/jobs/jobexecutor.cxx b/framework/source/jobs/jobexecutor.cxx index 05fd77d..f53c025 100644 --- a/framework/source/jobs/jobexecutor.cxx +++ b/framework/source/jobs/jobexecutor.cxx @@ -205,7 +205,7 @@ void SAL_CALL JobExecutor::trigger( const OUString& sEvent ) throw(css::uno::Run { SAL_INFO( "fwk", "JobExecutor::trigger()"); - css::uno::Sequence< OUString > lJobs; + std::vector< OUString > lJobs; /* SAFE */ { osl::MutexGuard g(rBHelper.rMutex); @@ -223,8 +223,8 @@ void SAL_CALL JobExecutor::trigger( const OUString& sEvent ) throw(css::uno::Run } /* SAFE */ // step over all enabled jobs and execute it - sal_Int32 c = lJobs.getLength(); - for (sal_Int32 j=0; j<c; ++j) + size_t c = lJobs.size(); + for (size_t j=0; j<c; ++j) { rtl::Reference<Job> pJob; diff --git a/framework/source/jobs/jobresult.cxx b/framework/source/jobs/jobresult.cxx index 0577182..01adf16 100644 --- a/framework/source/jobs/jobresult.cxx +++ b/framework/source/jobs/jobresult.cxx @@ -25,6 +25,7 @@ #include <rtl/ustrbuf.hxx> #include <vcl/svapp.hxx> #include <comphelper/sequenceashashmap.hxx> +#include <comphelper/sequence.hxx> namespace framework{ @@ -113,8 +114,10 @@ JobResult::JobResult( /*IN*/ const css::uno::Any& aResult ) pIt = aProtocol.find(JobConst::ANSWER_SAVE_ARGUMENTS()); if (pIt != aProtocol.end()) { - pIt->second >>= m_lArguments; - if (m_lArguments.getLength() > 0) + css::uno::Sequence<css::beans::NamedValue> aTmp; + pIt->second >>= aTmp; + comphelper::sequenceToContainer(m_lArguments, aTmp); + if (!m_lArguments.size()) m_eParts |= E_ARGUMENTS; } @@ -190,7 +193,7 @@ bool JobResult::existPart( sal_uInt32 eParts ) const @return It returns the state of the internal member without any checks! */ -css::uno::Sequence< css::beans::NamedValue > JobResult::getArguments() const +std::vector< css::beans::NamedValue > JobResult::getArguments() const { SolarMutexGuard g; return m_lArguments; diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index 1a29255..5ec8f6c 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -944,7 +944,7 @@ bool LoadEnv::impl_furtherDocsAllowed() FrameListAnalyzer::E_BACKINGCOMPONENT | FrameListAnalyzer::E_HIDDEN); - sal_Int32 nOpenDocuments = aAnalyzer.m_lOtherVisibleFrames.getLength(); + sal_Int32 nOpenDocuments = aAnalyzer.m_lOtherVisibleFrames.size(); bAllowed = (nOpenDocuments < nMaxOpenDocuments); } } diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx index 28a6830..00b2a74 100644 --- a/framework/source/services/frame.cxx +++ b/framework/source/services/frame.cxx @@ -3170,7 +3170,7 @@ void Frame::impl_checkMenuCloser() // But we must check, if weself includes the help ... // Check aAnalyzer.m_bReferenceIsHelp! if ( - (aAnalyzer.m_lOtherVisibleFrames.getLength()==1) && + (aAnalyzer.m_lOtherVisibleFrames.size()==1) && ( (aAnalyzer.m_bReferenceIsHelp ) || (aAnalyzer.m_bReferenceIsHidden) @@ -3186,7 +3186,7 @@ void Frame::impl_checkMenuCloser() // There is no other frame ... means no other document frame. The help module // will be handled separately and must(!) be ignored here ... excepting weself includes the help. else if ( - (aAnalyzer.m_lOtherVisibleFrames.getLength()==0) && + (aAnalyzer.m_lOtherVisibleFrames.empty()) && (!aAnalyzer.m_bReferenceIsHelp ) && (!aAnalyzer.m_bReferenceIsHidden ) && (!aAnalyzer.m_bReferenceIsBacking ) diff --git a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx index 15b26ba..6024678 100644 --- a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx +++ b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx @@ -1104,7 +1104,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) if ( m_bDisposed ) throw DisposedException(); - Sequence< Sequence< PropertyValue > > aElementInfoSeq; + std::vector< Sequence< PropertyValue > > aElementInfoSeq; UIElementInfoHashMap aUIElementInfoCollection; if ( ElementType == css::ui::UIElementType::UNKNOWN ) @@ -1119,7 +1119,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) aUIElementInfo[0].Name = m_aPropResourceURL; aUIElementInfo[1].Name = m_aPropUIName; - aElementInfoSeq.realloc( aUIElementInfoCollection.size() ); + aElementInfoSeq.resize( aUIElementInfoCollection.size() ); UIElementInfoHashMap::const_iterator pIter = aUIElementInfoCollection.begin(); sal_Int32 n = 0; @@ -1131,7 +1131,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) ++pIter; } - return aElementInfoSeq; + return comphelper::containerToSequence(aElementInfoSeq); } Reference< XIndexContainer > SAL_CALL ModuleUIConfigurationManager::createSettings() throw (css::uno::RuntimeException, std::exception) diff --git a/framework/source/uiconfiguration/uiconfigurationmanager.cxx b/framework/source/uiconfiguration/uiconfigurationmanager.cxx index 1bcb6ce..80e66c3 100644 --- a/framework/source/uiconfiguration/uiconfigurationmanager.cxx +++ b/framework/source/uiconfiguration/uiconfigurationmanager.cxx @@ -42,6 +42,7 @@ #include <cppuhelper/implbase.hxx> #include <cppuhelper/supportsservice.hxx> +#include <comphelper/sequence.hxx> #include <vcl/svapp.hxx> #include <rtl/ref.hxx> #include <rtl/ustrbuf.hxx> @@ -864,7 +865,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) if ( m_bDisposed ) throw DisposedException(); - Sequence< Sequence< PropertyValue > > aElementInfoSeq; + std::vector< Sequence< PropertyValue > > aElementInfoSeq; UIElementInfoHashMap aUIElementInfoCollection; if ( ElementType == css::ui::UIElementType::UNKNOWN ) @@ -879,7 +880,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) aUIElementInfo[0].Name = m_aPropResourceURL; aUIElementInfo[1].Name = m_aPropUIName; - aElementInfoSeq.realloc( aUIElementInfoCollection.size() ); + aElementInfoSeq.resize( aUIElementInfoCollection.size() ); UIElementInfoHashMap::const_iterator pIter = aUIElementInfoCollection.begin(); sal_Int32 n = 0; @@ -891,7 +892,7 @@ throw ( IllegalArgumentException, RuntimeException, std::exception ) ++pIter; } - return aElementInfoSeq; + return comphelper::containerToSequence(aElementInfoSeq); } Reference< XIndexContainer > SAL_CALL UIConfigurationManager::createSettings() throw (css::uno::RuntimeException, std::exception) diff --git a/framework/source/uiconfiguration/windowstateconfiguration.cxx b/framework/source/uiconfiguration/windowstateconfiguration.cxx index 1fff2d3..06560ba 100644 --- a/framework/source/uiconfiguration/windowstateconfiguration.cxx +++ b/framework/source/uiconfiguration/windowstateconfiguration.cxx @@ -546,58 +546,58 @@ Any ConfigurationAccess_WindowState::impl_getSequenceFromStruct( const WindowSta { sal_Int32 i( 0 ); sal_Int32 nCount( m_aPropArray.size() ); - Sequence< PropertyValue > aPropSeq; + std::vector< PropertyValue > aPropVec; for ( i = 0; i < nCount; i++ ) { if ( rWinStateInfo.nMask & ( 1 << i )) { // put value into the return sequence - sal_Int32 nIndex( aPropSeq.getLength()); - aPropSeq.realloc( nIndex+1 ); - aPropSeq[nIndex].Name = m_aPropArray[i]; + PropertyValue pv; + pv.Name = m_aPropArray[i]; switch ( i ) { case PROPERTY_LOCKED: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bLocked ); break; + pv.Value = makeAny( rWinStateInfo.bLocked ); break; case PROPERTY_DOCKED: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bDocked ); break; + pv.Value = makeAny( rWinStateInfo.bDocked ); break; case PROPERTY_VISIBLE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bVisible ); break; + pv.Value = makeAny( rWinStateInfo.bVisible ); break; case PROPERTY_CONTEXT: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bContext ); break; + pv.Value = makeAny( rWinStateInfo.bContext ); break; case PROPERTY_HIDEFROMMENU: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bHideFromMenu ); break; + pv.Value = makeAny( rWinStateInfo.bHideFromMenu ); break; case PROPERTY_NOCLOSE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bNoClose ); break; + pv.Value = makeAny( rWinStateInfo.bNoClose ); break; case PROPERTY_SOFTCLOSE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bSoftClose ); break; + pv.Value = makeAny( rWinStateInfo.bSoftClose ); break; case PROPERTY_CONTEXTACTIVE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.bContextActive ); break; + pv.Value = makeAny( rWinStateInfo.bContextActive ); break; case PROPERTY_DOCKINGAREA: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aDockingArea ); break; + pv.Value = makeAny( rWinStateInfo.aDockingArea ); break; case PROPERTY_POS: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aPos ); break; + pv.Value = makeAny( rWinStateInfo.aPos ); break; case PROPERTY_SIZE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aSize ); break; + pv.Value = makeAny( rWinStateInfo.aSize ); break; case PROPERTY_UINAME: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aUIName ); break; + pv.Value = makeAny( rWinStateInfo.aUIName ); break; case PROPERTY_INTERNALSTATE: - aPropSeq[nIndex].Value = makeAny( sal_Int32( rWinStateInfo.nInternalState )); break; + pv.Value = makeAny( sal_Int32( rWinStateInfo.nInternalState )); break; case PROPERTY_STYLE: - aPropSeq[nIndex].Value = makeAny( sal_Int16( rWinStateInfo.nStyle )); break; + pv.Value = makeAny( sal_Int16( rWinStateInfo.nStyle )); break; case PROPERTY_DOCKPOS: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aDockPos ); break; + pv.Value = makeAny( rWinStateInfo.aDockPos ); break; case PROPERTY_DOCKSIZE: - aPropSeq[nIndex].Value = makeAny( rWinStateInfo.aDockSize ); break; + pv.Value = makeAny( rWinStateInfo.aDockSize ); break; default: assert( false && "Wrong value for ConfigurationAccess_WindowState. Who has forgotten to add this new property!" ); } + aPropVec.push_back(pv); } } - return makeAny( aPropSeq ); + return makeAny( comphelper::containerToSequence(aPropVec) ); } Any ConfigurationAccess_WindowState::impl_insertCacheAndReturnSequence( const OUString& rResourceURL, Reference< XNameAccess >& xNameAccess ) @@ -605,8 +605,7 @@ Any ConfigurationAccess_WindowState::impl_insertCacheAndReturnSequence( const OU sal_Int32 nMask( 0 ); sal_Int32 nCount( m_aPropArray.size() ); sal_Int32 i( 0 ); - sal_Int32 nIndex( 0 ); - Sequence< PropertyValue > aPropSeq; + std::vector< PropertyValue > aPropVec; WindowStateInfo aWindowStateInfo; for ( i = 0; i < nCount; i++ ) @@ -778,10 +777,10 @@ Any ConfigurationAccess_WindowState::impl_insertCacheAndReturnSequence( const OU if ( bAddToSeq ) { // put value into the return sequence - nIndex = aPropSeq.getLength(); - aPropSeq.realloc( nIndex+1 ); - aPropSeq[nIndex].Name = m_aPropArray[i]; - aPropSeq[nIndex].Value = a; + PropertyValue pv; + pv.Name = m_aPropArray[i]; + pv.Value = a; + aPropVec.push_back(pv); } } catch( const css::container::NoSuchElementException& ) @@ -794,7 +793,7 @@ Any ConfigurationAccess_WindowState::impl_insertCacheAndReturnSequence( const OU aWindowStateInfo.nMask = nMask; m_aResourceURLToInfoCache.insert( ResourceURLToInfoCache::value_type( rResourceURL, aWindowStateInfo )); - return makeAny( aPropSeq ); + return makeAny( comphelper::containerToSequence(aPropVec) ); } ConfigurationAccess_WindowState::WindowStateInfo& ConfigurationAccess_WindowState::impl_insertCacheAndReturnWinState( const OUString& rResourceURL, Reference< XNameAccess >& rNameAccess ) diff --git a/include/framework/configimporter.hxx b/include/framework/configimporter.hxx index c35e8d6..3082464 100644 --- a/include/framework/configimporter.hxx +++ b/include/framework/configimporter.hxx @@ -27,6 +27,7 @@ #include <rtl/ustring.hxx> #include <framework/fwedllapi.h> +#include <vector> namespace framework { @@ -35,7 +36,7 @@ namespace framework public: static bool ImportCustomToolbars( const css::uno::Reference< css::ui::XUIConfigurationManager2 >& rContainerFactory, - css::uno::Sequence< css::uno::Reference< css::container::XIndexContainer > >& rSeqContainer, + std::vector< css::uno::Reference< css::container::XIndexContainer > >& rSeqContainer, const css::uno::Reference< css::uno::XComponentContext >& rxContext, const css::uno::Reference< css::embed::XStorage >& rToolbarStorage ); }; diff --git a/include/framework/framelistanalyzer.hxx b/include/framework/framelistanalyzer.hxx index cdceae2..a1f2501 100644 --- a/include/framework/framelistanalyzer.hxx +++ b/include/framework/framelistanalyzer.hxx @@ -23,6 +23,7 @@ #include <com/sun/star/frame/XFrame.hpp> #include <framework/fwedllapi.h> +#include <vector> namespace framework{ @@ -73,19 +74,19 @@ class FWE_DLLPUBLIC FrameListAnalyzer /** contains all frames, which uses the same model like the reference frame. Will be filled only if m_eDetectMode has set the flag E_MODEL. The reference frame is never part of this list! */ - css::uno::Sequence< css::uno::Reference< css::frame::XFrame > > m_lModelFrames; + std::vector< css::uno::Reference< css::frame::XFrame > > m_lModelFrames; /** contains all frames, which does not contain the same model like the reference frame. Filling of it can't be suppressed by m_eDetectMode. The reference frame is never part of this list! All frames inside this list are visible ones. */ - css::uno::Sequence< css::uno::Reference< css::frame::XFrame > > m_lOtherVisibleFrames; + std::vector< css::uno::Reference< css::frame::XFrame > > m_lOtherVisibleFrames; /** contains all frames, which does not contain the same model like the reference frame. Filling of it can't be suppressed by m_eDetectMode. The reference frame is never part of this list! All frames inside this list are hidden ones. */ - css::uno::Sequence< css::uno::Reference< css::frame::XFrame > > m_lOtherHiddenFrames; + std::vector< css::uno::Reference< css::frame::XFrame > > m_lOtherHiddenFrames; /** points to the help frame. Will be set only, if any other frame (means different from the reference frame) diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx index 878f9d7..8bb5c08 100644 --- a/sfx2/source/doc/sfxbasemodel.cxx +++ b/sfx2/source/doc/sfxbasemodel.cxx @@ -3563,7 +3563,7 @@ Reference< ui::XUIConfigurationManager2 > SfxBaseModel::getUIConfigurationManage if ( xOOo1ConfigStorage.is() ) { Reference< XComponentContext > xContext( ::comphelper::getProcessComponentContext() ); - Sequence< Reference< container::XIndexContainer > > rToolbars; + std::vector< Reference< container::XIndexContainer > > rToolbars; bool bImported = framework::UIConfigurationImporterOOo1x::ImportCustomToolbars( xNewUIConfMan, rToolbars, xContext, xOOo1ConfigStorage ); @@ -3573,7 +3573,7 @@ Reference< ui::XUIConfigurationManager2 > SfxBaseModel::getUIConfigurationManage OUString aNum( "private:resource/toolbar/custom_OOo1x_" ); OUString aTitle( "Toolbar " ); - for ( sal_Int32 i = 0; i < rToolbars.getLength(); i++ ) + for ( size_t i = 0; i < rToolbars.size(); i++ ) { OUString aCustomTbxName = aNum + OUString::number( i + 1 ); OUString aCustomTbxTitle = aTitle + OUString::number( i + 1 ); commit dba6451b2f25b3d8510e0a848977166ee5e6c8e3 Author: Noel Grandin <noelgran...@gmail.com> Date: Thu Mar 10 09:22:48 2016 +0200 sequence->vector in scripting Change-Id: I5efd5ed8755b6127f08f711b8b7337b87b89bbd4 Reviewed-on: https://gerrit.libreoffice.org/23700 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noelgran...@gmail.com> diff --git a/scripting/source/basprov/baslibnode.cxx b/scripting/source/basprov/baslibnode.cxx index aee5ae0..b39368e 100644 --- a/scripting/source/basprov/baslibnode.cxx +++ b/scripting/source/basprov/baslibnode.cxx @@ -20,6 +20,7 @@ #include "baslibnode.hxx" #include "basmodnode.hxx" #include <com/sun/star/script/browse/BrowseNodeTypes.hpp> +#include <comphelper/sequence.hxx> #include <osl/mutex.hxx> #include <vcl/svapp.hxx> #include <basic/basmgr.hxx> @@ -77,7 +78,7 @@ namespace basprov { SolarMutexGuard aGuard; - Sequence< Reference< browse::XBrowseNode > > aChildNodes; + std::vector< Reference< browse::XBrowseNode > > aChildNodes; if ( m_xLibContainer.is() && m_xLibContainer->hasByName( m_sLibName ) && !m_xLibContainer->isLibraryLoaded( m_sLibName ) ) m_xLibContainer->loadLibrary( m_sLibName ); @@ -90,19 +91,18 @@ namespace basprov Sequence< OUString > aNames = m_xLibrary->getElementNames(); sal_Int32 nCount = aNames.getLength(); const OUString* pNames = aNames.getConstArray(); - aChildNodes.realloc( nCount ); - Reference< browse::XBrowseNode >* pChildNodes = aChildNodes.getArray(); + aChildNodes.resize( nCount ); for ( sal_Int32 i = 0 ; i < nCount ; ++i ) { SbModule* pModule = pBasic->FindModule( pNames[i] ); if ( pModule ) - pChildNodes[i] = static_cast< browse::XBrowseNode* >( new BasicModuleNodeImpl( m_xContext, m_sScriptingContext, pModule, m_bIsAppScript ) ); + aChildNodes[i] = static_cast< browse::XBrowseNode* >( new BasicModuleNodeImpl( m_xContext, m_sScriptingContext, pModule, m_bIsAppScript ) ); } } } - return aChildNodes; + return comphelper::containerToSequence(aChildNodes); } diff --git a/scripting/source/provider/BrowseNodeFactoryImpl.cxx b/scripting/source/provider/BrowseNodeFactoryImpl.cxx index d637048..656690b 100644 --- a/scripting/source/provider/BrowseNodeFactoryImpl.cxx +++ b/scripting/source/provider/BrowseNodeFactoryImpl.cxx @@ -55,14 +55,14 @@ class BrowseNodeAggregator : { private: OUString m_Name; - Sequence< Reference< browse::XBrowseNode > > m_Nodes; + std::vector< Reference< browse::XBrowseNode > > m_Nodes; public: explicit BrowseNodeAggregator( const Reference< browse::XBrowseNode >& node ) { m_Name = node->getName(); - m_Nodes.realloc( 1 ); + m_Nodes.resize( 1 ); m_Nodes[ 0 ] = node; } @@ -72,10 +72,7 @@ public: void addBrowseNode( const Reference< browse::XBrowseNode>& node ) { - sal_Int32 index = m_Nodes.getLength(); - - m_Nodes.realloc( index + 1 ); - m_Nodes[ index ] = node; + m_Nodes.push_back( node ); } virtual OUString @@ -90,11 +87,11 @@ public: throw ( RuntimeException, std::exception ) override { std::vector< Sequence< Reference < browse::XBrowseNode > > > seqs; - seqs.reserve( m_Nodes.getLength() ); + seqs.reserve( m_Nodes.size() ); sal_Int32 numChildren = 0; - for ( sal_Int32 i = 0; i < m_Nodes.getLength(); i++ ) + for ( size_t i = 0; i < m_Nodes.size(); i++ ) { Sequence< Reference < browse::XBrowseNode > > children; try @@ -129,9 +126,9 @@ public: hasChildNodes() throw ( RuntimeException, std::exception ) override { - if ( m_Nodes.getLength() != 0 ) + if ( !m_Nodes.empty() ) { - for ( sal_Int32 i = 0 ; i < m_Nodes.getLength(); i++ ) + for ( size_t i = 0 ; i < m_Nodes.size(); i++ ) { try { @@ -294,7 +291,7 @@ private: namespace { -Sequence< Reference< browse::XBrowseNode > > getAllBrowseNodes( const Reference< XComponentContext >& xCtx ) +std::vector< Reference< browse::XBrowseNode > > getAllBrowseNodes( const Reference< XComponentContext >& xCtx ) { Sequence< OUString > openDocs = MiscUtils::allOpenTDocUrls( xCtx ); @@ -303,7 +300,7 @@ Sequence< Reference< browse::XBrowseNode > > getAllBrowseNodes( const Reference< sal_Int32 initialSize = openDocs.getLength() + 2; sal_Int32 mspIndex = 0; - Sequence < Reference < browse::XBrowseNode > > locnBNs( initialSize ); + std::vector< Reference < browse::XBrowseNode > > locnBNs( initialSize ); try { xFac = provider::theMasterScriptProviderFactory::get( xCtx ); @@ -317,7 +314,7 @@ Sequence< Reference< browse::XBrowseNode > > getAllBrowseNodes( const Reference< (void)e; OSL_TRACE("Caught Exception %s", OUStringToOString( e.Message , RTL_TEXTENCODING_ASCII_US ).pData->buffer ); - locnBNs.realloc( mspIndex ); + locnBNs.resize( mspIndex ); return locnBNs; } @@ -350,7 +347,7 @@ Sequence< Reference< browse::XBrowseNode > > getAllBrowseNodes( const Reference< } - Sequence < Reference < browse::XBrowseNode > > locnBNs_Return( mspIndex ); + std::vector< Reference < browse::XBrowseNode > > locnBNs_Return( mspIndex ); for ( sal_Int32 j = 0; j < mspIndex; j++ ) locnBNs_Return[j] = locnBNs[j]; @@ -538,10 +535,10 @@ private: public: explicit DefaultRootBrowseNode( const Reference< XComponentContext >& xCtx ) { - Sequence < Reference< browse::XBrowseNode > > nodes = + std::vector< Reference< browse::XBrowseNode > > nodes = getAllBrowseNodes( xCtx ); - for ( sal_Int32 i=0; i<nodes.getLength(); i++ ) + for ( size_t i=0; i<nodes.size(); i++ ) { m_vNodes.push_back( new DefaultBrowseNode( xCtx, nodes[ i ] ) ); } @@ -621,12 +618,12 @@ public: throw ( RuntimeException, std::exception ) override { - Sequence < Reference < browse::XBrowseNode > > locnBNs = getAllBrowseNodes( m_xComponentContext ); + std::vector< Reference < browse::XBrowseNode > > locnBNs = getAllBrowseNodes( m_xComponentContext ); Sequence< Reference< browse::XBrowseNode > > children( - locnBNs.getLength() ); + locnBNs.size() ); - for ( sal_Int32 j = 0; j < locnBNs.getLength(); j++ ) + for ( size_t j = 0; j < locnBNs.size(); j++ ) { children[j] = new LocationBrowseNode( locnBNs[j] ); } diff --git a/scripting/source/provider/ProviderCache.cxx b/scripting/source/provider/ProviderCache.cxx index 854b823..34686b1 100644 --- a/scripting/source/provider/ProviderCache.cxx +++ b/scripting/source/provider/ProviderCache.cxx @@ -83,18 +83,18 @@ ProviderCache::getProvider( const OUString& providerName ) Sequence < Reference< provider::XScriptProvider > > ProviderCache::getAllProviders() throw ( RuntimeException ) { - Sequence < Reference< provider::XScriptProvider > > providers ( m_hProviderDetailsCache.size() ); // need to create providers that haven't been created already // so check what providers exist and what ones don't ::osl::Guard< osl::Mutex > aGuard( m_mutex ); + Sequence < Reference< provider::XScriptProvider > > providers ( m_hProviderDetailsCache.size() ); ProviderDetails_hash::iterator h_itEnd = m_hProviderDetailsCache.end(); ProviderDetails_hash::iterator h_it = m_hProviderDetailsCache.begin(); // should assert if size !> 0 if ( !m_hProviderDetailsCache.empty() ) { sal_Int32 providerIndex = 0; - sal_Int32 index = 0; + sal_Int32 index = 0; for ( index = 0; h_it != h_itEnd; ++h_it, index++ ) { Reference< provider::XScriptProvider > xScriptProvider = h_it->second.provider; commit 46b4634de93bdda2a8427c6c545dc6160d5201d0 Author: Noel Grandin <noelgran...@gmail.com> Date: Tue Feb 23 19:41:53 2016 +0200 sequence->vector in linguistic Change-Id: I28ed0b4bb2a140493fca693807011b91b3569986 Reviewed-on: https://gerrit.libreoffice.org/23695 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noelgran...@gmail.com> diff --git a/include/linguistic/misc.hxx b/include/linguistic/misc.hxx index 9e7cb3f..99dfd05 100644 --- a/include/linguistic/misc.hxx +++ b/include/linguistic/misc.hxx @@ -118,7 +118,7 @@ bool FileExists( const OUString &rURL ); OUString GetDictionaryWriteablePath(); -css::uno::Sequence< OUString > GetDictionaryPaths(); +std::vector< OUString > GetDictionaryPaths(); /// @returns an URL for a new and writable dictionary rDicName. /// The URL will point to the path given by 'GetDictionaryWriteablePath' diff --git a/include/linguistic/spelldta.hxx b/include/linguistic/spelldta.hxx index 5475afc..2e3e6c0 100644 --- a/include/linguistic/spelldta.hxx +++ b/include/linguistic/spelldta.hxx @@ -37,14 +37,14 @@ namespace com { namespace sun { namespace star { namespace linguistic { -css::uno::Sequence< OUString > +std::vector< OUString > MergeProposalSeqs( - css::uno::Sequence< OUString > &rAlt1, - css::uno::Sequence< OUString > &rAlt2, + std::vector< OUString > &rAlt1, + std::vector< OUString > &rAlt2, bool bAllowDuplicates ); void SeqRemoveNegEntries( - css::uno::Sequence< OUString > &rSeq, + std::vector< OUString > &rSeq, css::uno::Reference< css::linguistic2::XSearchableDictionaryList > &rxDicList, sal_Int16 nLanguage ); diff --git a/linguistic/source/convdiclist.cxx b/linguistic/source/convdiclist.cxx index a977062..de7160f 100644 --- a/linguistic/source/convdiclist.cxx +++ b/linguistic/source/convdiclist.cxx @@ -31,6 +31,7 @@ #include <cppuhelper/factory.hxx> #include <cppuhelper/implbase.hxx> #include <comphelper/processfactory.hxx> +#include <comphelper/sequence.hxx> #include <cppuhelper/supportsservice.hxx> #include <rtl/instance.hxx> #include <tools/stream.hxx> @@ -79,7 +80,7 @@ class ConvDicNameContainer : public cppu::WeakImplHelper< css::container::XNameContainer >, private boost::noncopyable { - uno::Sequence< uno::Reference< XConversionDictionary > > aConvDics; + std::vector< uno::Reference< XConversionDictionary > > aConvDics; sal_Int32 GetIndexByName_Impl( const OUString& rName ); @@ -110,12 +111,12 @@ public: // calls Flush for the dictionaries that support XFlushable void FlushDics() const; - sal_Int32 GetCount() const { return aConvDics.getLength(); } + sal_Int32 GetCount() const { return aConvDics.size(); } uno::Reference< XConversionDictionary > GetByName( const OUString& rName ); - const uno::Reference< XConversionDictionary > GetByIndex( sal_Int32 nIdx ) + const uno::Reference< XConversionDictionary >& GetByIndex( sal_Int32 nIdx ) { - return aConvDics.getConstArray()[nIdx]; + return aConvDics[nIdx]; } }; @@ -129,11 +130,10 @@ ConvDicNameContainer::~ConvDicNameContainer() void ConvDicNameContainer::FlushDics() const { - sal_Int32 nLen = aConvDics.getLength(); - const uno::Reference< XConversionDictionary > *pDic = aConvDics.getConstArray(); + sal_Int32 nLen = aConvDics.size(); for (sal_Int32 i = 0; i < nLen; ++i) { - uno::Reference< util::XFlushable > xFlush( pDic[i] , UNO_QUERY ); + uno::Reference< util::XFlushable > xFlush( aConvDics[i] , UNO_QUERY ); if (xFlush.is()) { try @@ -152,11 +152,10 @@ sal_Int32 ConvDicNameContainer::GetIndexByName_Impl( const OUString& rName ) { sal_Int32 nRes = -1; - sal_Int32 nLen = aConvDics.getLength(); - const uno::Reference< XConversionDictionary > *pDic = aConvDics.getConstArray(); + sal_Int32 nLen = aConvDics.size(); for (sal_Int32 i = 0; i < nLen && nRes == -1; ++i) { - if (rName == pDic[i]->getName()) + if (rName == aConvDics[i]->getName()) nRes = i; } return nRes; @@ -168,7 +167,7 @@ uno::Reference< XConversionDictionary > ConvDicNameContainer::GetByName( uno::Reference< XConversionDictionary > xRes; sal_Int32 nIdx = GetIndexByName_Impl( rName ); if ( nIdx != -1) - xRes = aConvDics.getArray()[nIdx]; + xRes = aConvDics[nIdx]; return xRes; } @@ -183,7 +182,7 @@ sal_Bool SAL_CALL ConvDicNameContainer::hasElements( ) throw (RuntimeException, std::exception) { MutexGuard aGuard( GetLinguMutex() ); - return aConvDics.getLength() > 0; + return !aConvDics.empty(); } uno::Any SAL_CALL ConvDicNameContainer::getByName( const OUString& rName ) @@ -201,12 +200,11 @@ uno::Sequence< OUString > SAL_CALL ConvDicNameContainer::getElementNames( ) { MutexGuard aGuard( GetLinguMutex() ); - sal_Int32 nLen = aConvDics.getLength(); + sal_Int32 nLen = aConvDics.size(); uno::Sequence< OUString > aRes( nLen ); OUString *pName = aRes.getArray(); - const uno::Reference< XConversionDictionary > *pDic = aConvDics.getConstArray(); for (sal_Int32 i = 0; i < nLen; ++i) - pName[i] = pDic[i]->getName(); + pName[i] = aConvDics[i]->getName(); return aRes; } @@ -231,7 +229,7 @@ void SAL_CALL ConvDicNameContainer::replaceByName( rElement >>= xNew; if (!xNew.is() || xNew->getName() != rName) throw IllegalArgumentException(); - aConvDics.getArray()[ nRplcIdx ] = xNew; + aConvDics[ nRplcIdx ] = xNew; } void SAL_CALL ConvDicNameContainer::insertByName( @@ -248,9 +246,7 @@ void SAL_CALL ConvDicNameContainer::insertByName( if (!xNew.is() || xNew->getName() != rName) throw IllegalArgumentException(); - sal_Int32 nLen = aConvDics.getLength(); - aConvDics.realloc( nLen + 1 ); - aConvDics.getArray()[ nLen ] = xNew; + aConvDics.push_back(xNew); } void SAL_CALL ConvDicNameContainer::removeByName( const OUString& rName ) @@ -263,7 +259,7 @@ void SAL_CALL ConvDicNameContainer::removeByName( const OUString& rName ) throw NoSuchElementException(); // physically remove dictionary - uno::Reference< XConversionDictionary > xDel = aConvDics.getArray()[nRplcIdx]; + uno::Reference< XConversionDictionary > xDel = aConvDics[nRplcIdx]; OUString aName( xDel->getName() ); OUString aDicMainURL( GetConvDicMainURL( aName, GetDictionaryWriteablePath() ) ); INetURLObject aObj( aDicMainURL ); @@ -287,11 +283,7 @@ void SAL_CALL ConvDicNameContainer::removeByName( const OUString& rName ) } } - sal_Int32 nLen = aConvDics.getLength(); - uno::Reference< XConversionDictionary > *pDic = aConvDics.getArray(); - for (sal_Int32 i = nRplcIdx; i < nLen - 1; ++i) - pDic[i] = pDic[i + 1]; - aConvDics.realloc( nLen - 1 ); + aConvDics.erase(aConvDics.begin() + nRplcIdx); } void ConvDicNameContainer::AddConvDics( @@ -482,9 +474,7 @@ uno::Sequence< OUString > SAL_CALL ConvDicList::queryConversions( { MutexGuard aGuard( GetLinguMutex() ); - sal_Int32 nCount = 0; - uno::Sequence< OUString > aRes( 20 ); - OUString *pRes = aRes.getArray(); + std::vector< OUString > aRes; bool bSupported = false; sal_Int32 nLen = GetNameContainer().GetCount(); @@ -503,14 +493,8 @@ uno::Sequence< OUString > SAL_CALL ConvDicList::queryConversions( sal_Int32 nNewLen = aNewConv.getLength(); if (nNewLen > 0) { - if (nCount + nNewLen > aRes.getLength()) - { - aRes.realloc( nCount + nNewLen + 20 ); - pRes = aRes.getArray(); - } - const OUString *pNewConv = aNewConv.getConstArray(); for (sal_Int32 k = 0; k < nNewLen; ++k) - pRes[nCount++] = pNewConv[k]; + aRes.push_back(aNewConv[k]); } } } @@ -518,8 +502,7 @@ uno::Sequence< OUString > SAL_CALL ConvDicList::queryConversions( if (!bSupported) throw NoSupportException(); - aRes.realloc( nCount ); - return aRes; + return comphelper::containerToSequence(aRes); } sal_Int16 SAL_CALL ConvDicList::queryMaxCharCount( diff --git a/linguistic/source/dicimp.cxx b/linguistic/source/dicimp.cxx index 51bce42..c22894c 100644 --- a/linguistic/source/dicimp.cxx +++ b/linguistic/source/dicimp.cxx @@ -29,6 +29,7 @@ #include <tools/urlobj.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/string.hxx> +#include <comphelper/sequence.hxx> #include <unotools/ucbstreamhelper.hxx> #include <com/sun/star/ucb/SimpleFileAccess.hpp> @@ -191,7 +192,6 @@ DictionaryNeo::DictionaryNeo(const OUString &rName, eDicType (eType), nLanguage (nLang) { - nCount = 0; nDicVersion = DIC_VERSION_DONTKNOW; bNeedEntries = true; bIsModified = bIsActive = false; @@ -274,7 +274,7 @@ sal_uLong DictionaryNeo::loadEntries(const OUString &rMainURL) rtl_TextEncoding eEnc = osl_getThreadTextEncoding(); if (nDicVersion >= DIC_VERSION_6) eEnc = RTL_TEXTENCODING_UTF8; - nCount = 0; + aEntries.clear(); if (DIC_VERSION_6 == nDicVersion || DIC_VERSION_5 == nDicVersion || @@ -470,10 +470,9 @@ sal_uLong DictionaryNeo::saveEntries(const OUString &rURL) pStream->WriteLine(OString("---")); if (0 != (nErr = pStream->GetError())) return nErr; - const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray(); - for (sal_Int32 i = 0; i < nCount; i++) + for (size_t i = 0; i < aEntries.size(); i++) { - OString aOutStr = formatForSave(pEntry[i], eEnc); + OString aOutStr = formatForSave(aEntries[i], eEnc); pStream->WriteLine (aOutStr); if (0 != (nErr = pStream->GetError())) break; @@ -622,7 +621,6 @@ bool DictionaryNeo::seekEntry(const OUString &rWord, MutexGuard aGuard( GetLinguMutex() ); - const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray(); sal_Int32 nUpperIdx = getCount(), nMidIdx, nLowerIdx = 0; @@ -632,9 +630,9 @@ bool DictionaryNeo::seekEntry(const OUString &rWord, while( nLowerIdx <= nUpperIdx ) { nMidIdx = (nLowerIdx + nUpperIdx) / 2; - DBG_ASSERT(pEntry[nMidIdx].is(), "lng : empty entry encountered"); + DBG_ASSERT(aEntries[nMidIdx].is(), "lng : empty entry encountered"); - int nCmp = - cmpDicEntry( pEntry[nMidIdx]->getDictionaryWord(), + int nCmp = - cmpDicEntry( aEntries[nMidIdx]->getDictionaryWord(), rWord, bSimilarOnly ); if(nCmp == 0) { @@ -660,13 +658,12 @@ bool DictionaryNeo::isSorted() { bool bRes = true; - const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray(); sal_Int32 nEntries = getCount(); sal_Int32 i; for (i = 1; i < nEntries; i++) { - if (cmpDicEntry( pEntry[i-1]->getDictionaryWord(), - pEntry[i]->getDictionaryWord() ) > 0) + if (cmpDicEntry( aEntries[i-1]->getDictionaryWord(), + aEntries[i]->getDictionaryWord() ) > 0) { bRes = false; break; @@ -704,20 +701,10 @@ bool DictionaryNeo::addEntry_Impl(const uno::Reference< XDictionaryEntry >& xDic { DBG_ASSERT(!bNeedEntries, "lng : entries still not loaded"); - if (nCount >= aEntries.getLength()) - aEntries.realloc( std::max(2 * nCount, nCount + 32) ); - uno::Reference< XDictionaryEntry > *pEntry = aEntries.getArray(); - - // shift old entries right - sal_Int32 i; - for (i = nCount - 1; i >= nPos; i--) - pEntry[ i+1 ] = pEntry[ i ]; // insert new entry at specified position - pEntry[ nPos ] = xDicEntry; + aEntries.insert(aEntries.begin() + nPos, xDicEntry); SAL_WARN_IF(!isSorted(), "linguistic", "dictionary entries unsorted"); - nCount++; - bIsModified = true; bRes = true; @@ -770,15 +757,14 @@ void SAL_CALL DictionaryNeo::setActive( sal_Bool bActivate ) // remove entries from memory if dictionary is deactivated if (!bIsActive) { - bool bIsEmpty = nCount == 0; + bool bIsEmpty = aEntries.empty(); // save entries first if necessary if (bIsModified && hasLocation() && !isReadonly()) { store(); - aEntries.realloc( 0 ); - nCount = 0; + aEntries.clear(); bNeedEntries = !bIsEmpty; } DBG_ASSERT( !bIsModified || !hasLocation() || isReadonly(), @@ -803,7 +789,7 @@ sal_Int32 SAL_CALL DictionaryNeo::getCount( ) if (bNeedEntries) loadEntries( aMainURL ); - return nCount; + return (sal_Int32)aEntries.size(); } Locale SAL_CALL DictionaryNeo::getLocale( ) @@ -838,10 +824,9 @@ uno::Reference< XDictionaryEntry > SAL_CALL DictionaryNeo::getEntry( sal_Int32 nPos; bool bFound = seekEntry( aWord, &nPos, true ); - DBG_ASSERT( nCount <= aEntries.getLength(), "lng : wrong number of entries"); - DBG_ASSERT(!bFound || nPos < nCount, "lng : index out of range"); + DBG_ASSERT(!bFound || nPos < (sal_Int32)aEntries.size(), "lng : index out of range"); - return bFound ? aEntries.getConstArray()[ nPos ] + return bFound ? aEntries[ nPos ] : uno::Reference< XDictionaryEntry >(); } @@ -882,26 +867,6 @@ sal_Bool SAL_CALL return bRes; } -static void lcl_SequenceRemoveElementAt( - uno::Sequence< uno::Reference< XDictionaryEntry > >& rEntries, int nPos ) -{ - //TODO: helper for SequenceRemoveElementAt available? - if(nPos >= rEntries.getLength()) - return; - uno::Sequence< uno::Reference< XDictionaryEntry > > aTmp(rEntries.getLength() - 1); - uno::Reference< XDictionaryEntry > * pOrig = rEntries.getArray(); - uno::Reference< XDictionaryEntry > * pTemp = aTmp.getArray(); - int nOffset = 0; - for(int i = 0; i < aTmp.getLength(); i++) - { - if(nPos == i) - nOffset++; - pTemp[i] = pOrig[i + nOffset]; - } - - rEntries = aTmp; -} - sal_Bool SAL_CALL DictionaryNeo::remove( const OUString& aWord ) throw(RuntimeException, std::exception) { @@ -916,22 +881,18 @@ sal_Bool SAL_CALL DictionaryNeo::remove( const OUString& aWord ) sal_Int32 nPos; bool bFound = seekEntry( aWord, &nPos ); - DBG_ASSERT( nCount < aEntries.getLength(), - "lng : wrong number of entries"); - DBG_ASSERT(!bFound || nPos < nCount, "lng : index out of range"); + DBG_ASSERT(!bFound || nPos < (sal_Int32)aEntries.size(), "lng : index out of range"); // remove element if found if (bFound) { // entry to be removed uno::Reference< XDictionaryEntry > - xDicEntry( aEntries.getConstArray()[ nPos ] ); + xDicEntry( aEntries[ nPos ] ); DBG_ASSERT(xDicEntry.is(), "lng : dictionary entry is NULL"); - nCount--; + aEntries.erase(aEntries.begin() + nPos); - //! the following call reduces the length of the sequence by 1 also - lcl_SequenceRemoveElementAt( aEntries, nPos ); bRemoved = bIsModified = true; launchEvent( DictionaryEventFlags::DEL_ENTRY, xDicEntry ); @@ -948,7 +909,7 @@ sal_Bool SAL_CALL DictionaryNeo::isFull( ) if (bNeedEntries) loadEntries( aMainURL ); - return nCount >= DIC_MAX_ENTRIES; + return aEntries.size() >= DIC_MAX_ENTRIES; } uno::Sequence< uno::Reference< XDictionaryEntry > > @@ -959,10 +920,7 @@ uno::Sequence< uno::Reference< XDictionaryEntry > > if (bNeedEntries) loadEntries( aMainURL ); - //! return sequence with length equal to the number of dictionary entries - //! (internal used sequence may have additional unused elements.) - return uno::Sequence< uno::Reference< XDictionaryEntry > > - (aEntries.getConstArray(), nCount); + return comphelper::containerToSequence(aEntries); } @@ -971,12 +929,11 @@ void SAL_CALL DictionaryNeo::clear( ) { MutexGuard aGuard( GetLinguMutex() ); - if (!bIsReadonly && nCount) + if (!bIsReadonly && !aEntries.empty()) { - // release all references to old entries and provide space for new ones - aEntries = uno::Sequence< uno::Reference< XDictionaryEntry > > ( 32 ); + // release all references to old entries + aEntries.clear(); - nCount = 0; bNeedEntries = false; bIsModified = true; diff --git a/linguistic/source/dicimp.hxx b/linguistic/source/dicimp.hxx index 321a47b..e1bf146 100644 --- a/linguistic/source/dicimp.hxx +++ b/linguistic/source/dicimp.hxx @@ -43,13 +43,12 @@ class DictionaryNeo : > { - ::comphelper::OInterfaceContainerHelper2 aDicEvtListeners; - css::uno::Sequence< css::uno::Reference< css::linguistic2::XDictionaryEntry > > + ::comphelper::OInterfaceContainerHelper2 aDicEvtListeners; + std::vector< css::uno::Reference< css::linguistic2::XDictionaryEntry > > aEntries; OUString aDicName; OUString aMainURL; css::linguistic2::DictionaryType eDicType; - sal_Int16 nCount; sal_Int16 nLanguage; sal_Int16 nDicVersion; bool bNeedEntries; diff --git a/linguistic/source/dlistimp.cxx b/linguistic/source/dlistimp.cxx index 7aee242..d648583 100644 --- a/linguistic/source/dlistimp.cxx +++ b/linguistic/source/dlistimp.cxx @@ -65,8 +65,8 @@ class DicEvtListenerHelper : XDictionaryEventListener > { - comphelper::OInterfaceContainerHelper2 aDicListEvtListeners; - uno::Sequence< DictionaryEvent > aCollectDicEvt; + comphelper::OInterfaceContainerHelper2 aDicListEvtListeners; + std::vector< DictionaryEvent > aCollectDicEvt; uno::Reference< XDictionaryList > xMyDicList; sal_Int16 nCondensedEvt; @@ -198,9 +198,7 @@ void SAL_CALL DicEvtListenerHelper::processDictionaryEvent( // update list of collected events if needs to be if (nNumVerboseListeners > 0) { - sal_Int32 nColEvts = aCollectDicEvt.getLength(); - aCollectDicEvt.realloc( nColEvts + 1 ); - aCollectDicEvt.getArray()[ nColEvts ] = rDicEvent; + aCollectDicEvt.push_back(rDicEvent); } if (nNumCollectEvtListeners == 0 && nCondensedEvt != 0) @@ -247,7 +245,7 @@ sal_Int16 DicEvtListenerHelper::FlushEvents() // build DictionaryListEvent to pass on to listeners uno::Sequence< DictionaryEvent > aDicEvents; if (nNumVerboseListeners > 0) - aDicEvents = aCollectDicEvt; + aDicEvents = comphelper::containerToSequence(aCollectDicEvt); DictionaryListEvent aEvent( xMyDicList, nCondensedEvt, aDicEvents ); // pass on event @@ -255,7 +253,7 @@ sal_Int16 DicEvtListenerHelper::FlushEvents() // clear "list" of events nCondensedEvt = 0; - aCollectDicEvt.realloc( 0 ); + aCollectDicEvt.clear(); } return nNumCollectEvtListeners; @@ -627,12 +625,11 @@ void DicList::_CreateDicList() // look for dictionaries const OUString aWriteablePath( GetDictionaryWriteablePath() ); - uno::Sequence< OUString > aPaths( GetDictionaryPaths() ); - const OUString *pPaths = aPaths.getConstArray(); - for (sal_Int32 i = 0; i < aPaths.getLength(); ++i) + std::vector< OUString > aPaths( GetDictionaryPaths() ); + for (size_t i = 0; i < aPaths.size(); ++i) { - const bool bIsWriteablePath = (pPaths[i] == aWriteablePath); - SearchForDictionaries( aDicList, pPaths[i], bIsWriteablePath ); + const bool bIsWriteablePath = (aPaths[i] == aWriteablePath); + SearchForDictionaries( aDicList, aPaths[i], bIsWriteablePath ); } // create IgnoreAllList dictionary with empty URL (non persistent) diff --git a/linguistic/source/lngsvcmgr.cxx b/linguistic/source/lngsvcmgr.cxx index 643c5a6..d77a372 100644 --- a/linguistic/source/lngsvcmgr.cxx +++ b/linguistic/source/lngsvcmgr.cxx @@ -1613,7 +1613,7 @@ uno::Sequence< lang::Locale > SAL_CALL } static bool IsEqSvcList( const uno::Sequence< OUString > &rList1, - const uno::Sequence< OUString > &rList2 ) + const uno::Sequence< OUString > &rList2 ) { // returns true iff both sequences are equal diff --git a/linguistic/source/misc2.cxx b/linguistic/source/misc2.cxx index c5f6a1f..bf99fdc 100644 --- a/linguistic/source/misc2.cxx +++ b/linguistic/source/misc2.cxx @@ -74,11 +74,11 @@ bool FileExists( const OUString &rMainURL ) return bExists; } -static uno::Sequence< OUString > GetMultiPaths_Impl( +static std::vector< OUString > GetMultiPaths_Impl( const OUString &rPathPrefix, DictionaryPathFlags nPathFlags ) { - uno::Sequence< OUString > aRes; + std::vector< OUString > aRes; uno::Sequence< OUString > aInternalPaths; uno::Sequence< OUString > aUserPaths; OUString aWritablePath; @@ -110,11 +110,10 @@ static uno::Sequence< OUString > GetMultiPaths_Impl( sal_Int32 nMaxEntries = aInternalPaths.getLength() + aUserPaths.getLength(); if (!aWritablePath.isEmpty()) ++nMaxEntries; - aRes.realloc( nMaxEntries ); - OUString *pRes = aRes.getArray(); + aRes.resize( nMaxEntries ); sal_Int32 nCount = 0; // number of actually added entries if ((nPathFlags & DictionaryPathFlags::WRITABLE) && !aWritablePath.isEmpty()) - pRes[ nCount++ ] = aWritablePath; + aRes[ nCount++ ] = aWritablePath; for (int i = 0; i < 2; ++i) { const uno::Sequence< OUString > &rPathSeq = i == 0 ? aUserPaths : aInternalPaths; @@ -124,10 +123,10 @@ static uno::Sequence< OUString > GetMultiPaths_Impl( const bool bAddUser = &rPathSeq == &aUserPaths && (nPathFlags & DictionaryPathFlags::USER); const bool bAddInternal = &rPathSeq == &aInternalPaths && (nPathFlags & DictionaryPathFlags::INTERNAL); if ((bAddUser || bAddInternal) && !pPathSeq[k].isEmpty()) - pRes[ nCount++ ] = pPathSeq[k]; + aRes[ nCount++ ] = pPathSeq[k]; } } - aRes.realloc( nCount ); + aRes.resize( nCount ); } return aRes; @@ -135,15 +134,15 @@ static uno::Sequence< OUString > GetMultiPaths_Impl( OUString GetDictionaryWriteablePath() { - uno::Sequence< OUString > aPaths( GetMultiPaths_Impl( "Dictionary", DictionaryPathFlags::WRITABLE ) ); - DBG_ASSERT( aPaths.getLength() == 1, "Dictionary_writable path corrupted?" ); + std::vector< OUString > aPaths( GetMultiPaths_Impl( "Dictionary", DictionaryPathFlags::WRITABLE ) ); + DBG_ASSERT( aPaths.size() == 1, "Dictionary_writable path corrupted?" ); OUString aRes; - if (aPaths.getLength() > 0) + if (aPaths.size() > 0) aRes = aPaths[0]; return aRes; } -uno::Sequence< OUString > GetDictionaryPaths() +std::vector< OUString > GetDictionaryPaths() { return GetMultiPaths_Impl( "Dictionary", PATH_FLAG_ALL ); } diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx index 26010a1..e1d86ba 100644 --- a/linguistic/source/spelldsp.cxx +++ b/linguistic/source/spelldsp.cxx @@ -28,6 +28,7 @@ #include <cppuhelper/factory.hxx> #include <unotools/localedatawrapper.hxx> #include <comphelper/processfactory.hxx> +#include <comphelper/sequence.hxx> #include <tools/debug.hxx> #include <svl/lngmisc.hxx> #include <osl/mutex.hxx> @@ -49,7 +50,7 @@ using namespace linguistic; // ProposalList: list of proposals for misspelled words -// The order of strings in the array should be left unchanged because the +// The order of strings in the array should be left unchanged because the // spellchecker should have put the more likely suggestions at the top. // New entries will be added to the end but duplicates are to be avoided. // Removing entries is done by assigning the empty string. @@ -69,7 +70,7 @@ public: void Append( const OUString &rNew ); void Append( const std::vector< OUString > &rNew ); void Append( const Sequence< OUString > &rNew ); - Sequence< OUString > GetSequence() const; + std::vector< OUString > GetVector() const; }; @@ -134,19 +135,18 @@ size_t ProposalList::Count() const return nRes; } -Sequence< OUString > ProposalList::GetSequence() const +std::vector< OUString > ProposalList::GetVector() const { sal_Int32 nCount = Count(); sal_Int32 nIdx = 0; - Sequence< OUString > aRes( nCount ); - OUString *pRes = aRes.getArray(); + std::vector< OUString > aRes( nCount ); sal_Int32 nLen = aVec.size(); for (sal_Int32 i = 0; i < nLen; ++i) { const OUString &rText = aVec[i]; - DBG_ASSERT( nIdx < nCount, "index our of range" ); + DBG_ASSERT( nIdx < nCount, "index out of range" ); if (nIdx < nCount && !rText.isEmpty()) - pRes[ nIdx++ ] = rText; + aRes[ nIdx++ ] = rText; } return aRes; } @@ -715,7 +715,7 @@ Reference< XSpellAlternatives > SpellCheckerDispatcher::spell_Impl( std::vector< OUString > aDicListProps; // list of proposals from user-dictionaries SearchSimilarText( aChkWord, nLanguage, xDList, aDicListProps ); aProposalList.Append( aDicListProps ); - Sequence< OUString > aProposals = aProposalList.GetSequence(); + std::vector< OUString > aProposals = aProposalList.GetVector(); // remove entries listed in negative dictionaries // (we don't want to display suggestions that will be regarded as misspelled later on) @@ -725,7 +725,7 @@ Reference< XSpellAlternatives > SpellCheckerDispatcher::spell_Impl( uno::Reference< linguistic2::XSetSpellAlternatives > xSetAlt( xRes, uno::UNO_QUERY ); if (xSetAlt.is()) { - xSetAlt->setAlternatives( aProposals ); + xSetAlt->setAlternatives( comphelper::containerToSequence(aProposals) ); xSetAlt->setFailureType( eFailureType ); } else @@ -734,12 +734,12 @@ Reference< XSpellAlternatives > SpellCheckerDispatcher::spell_Impl( { DBG_ASSERT( false, "XSetSpellAlternatives not implemented!" ); } - else if (aProposals.getLength() > 0) + else if (!aProposals.empty()) { // no xRes but Proposals found from the user-dictionaries. // Thus we need to create an xRes... xRes = new linguistic::SpellAlternatives( rWord, nLanguage, - SpellFailure::IS_NEGATIVE_WORD, aProposals ); + SpellFailure::IS_NEGATIVE_WORD, comphelper::containerToSequence(aProposals) ); } } } diff --git a/linguistic/source/spelldta.cxx b/linguistic/source/spelldta.cxx index 001fbe9..6a0a938 100644 --- a/linguistic/source/spelldta.cxx +++ b/linguistic/source/spelldta.cxx @@ -46,15 +46,14 @@ namespace linguistic #define MAX_PROPOSALS 40 bool SeqHasEntry( - const Sequence< OUString > &rSeq, + const std::vector< OUString > &rSeq, const OUString &rTxt) { bool bRes = false; - sal_Int32 nLen = rSeq.getLength(); - const OUString *pEntry = rSeq.getConstArray(); - for (sal_Int32 i = 0; i < nLen && !bRes; ++i) + sal_Int32 nLen = rSeq.size(); + for (sal_Int32 i = 0; i < nLen && !bRes; ++i) { - if (rTxt == pEntry[i]) + if (rTxt == rSeq[i]) bRes = true; } return bRes; @@ -107,26 +106,25 @@ void SearchSimilarText( const OUString &rText, sal_Int16 nLanguage, } -void SeqRemoveNegEntries( Sequence< OUString > &rSeq, +void SeqRemoveNegEntries( std::vector< OUString > &rSeq, Reference< XSearchableDictionaryList > &rxDicList, sal_Int16 nLanguage ) { bool bSthRemoved = false; - sal_Int32 nLen = rSeq.getLength(); - OUString *pEntries = rSeq.getArray(); + sal_Int32 nLen = rSeq.size(); for (sal_Int32 i = 0; i < nLen; ++i) { Reference< XDictionaryEntry > xNegEntry( SearchDicList( rxDicList, - pEntries[i], nLanguage, false, true ) ); + rSeq[i], nLanguage, false, true ) ); if (xNegEntry.is()) { - pEntries[i].clear(); + rSeq[i].clear(); bSthRemoved = true; } } if (bSthRemoved) { - Sequence< OUString > aNew; + std::vector< OUString > aNew; // merge sequence without duplicates and empty strings in new empty sequence aNew = MergeProposalSeqs( aNew, rSeq, false ); rSeq = aNew; @@ -134,42 +132,39 @@ void SeqRemoveNegEntries( Sequence< OUString > &rSeq, } -Sequence< OUString > MergeProposalSeqs( - Sequence< OUString > &rAlt1, - Sequence< OUString > &rAlt2, +std::vector< OUString > MergeProposalSeqs( + std::vector< OUString > &rAlt1, + std::vector< OUString > &rAlt2, bool bAllowDuplicates ) { - Sequence< OUString > aMerged; + std::vector< OUString > aMerged; - if (0 == rAlt1.getLength() && bAllowDuplicates) + if (rAlt1.empty() && bAllowDuplicates) aMerged = rAlt2; - else if (0 == rAlt2.getLength() && bAllowDuplicates) + else if (rAlt2.empty() && bAllowDuplicates) aMerged = rAlt1; else { - sal_Int32 nAltCount1 = rAlt1.getLength(); - const OUString *pAlt1 = rAlt1.getConstArray(); - sal_Int32 nAltCount2 = rAlt2.getLength(); - const OUString *pAlt2 = rAlt2.getConstArray(); + size_t nAltCount1 = rAlt1.size(); + size_t nAltCount2 = rAlt2.size(); - sal_Int32 nCountNew = std::min( nAltCount1 + nAltCount2, (sal_Int32) MAX_PROPOSALS ); - aMerged.realloc( nCountNew ); - OUString *pMerged = aMerged.getArray(); + sal_Int32 nCountNew = std::min<sal_Int32>( nAltCount1 + nAltCount2, (sal_Int32) MAX_PROPOSALS ); + aMerged.resize( nCountNew ); sal_Int32 nIndex = 0; sal_Int32 i = 0; for (int j = 0; j < 2; j++) { - sal_Int32 nCount = j == 0 ? nAltCount1 : nAltCount2; - const OUString *pAlt = j == 0 ? pAlt1 : pAlt2; + sal_Int32 nCount = j == 0 ? nAltCount1 : nAltCount2; + std::vector< OUString >& rAlt = j == 0 ? rAlt1 : rAlt2; for (i = 0; i < nCount && nIndex < MAX_PROPOSALS; i++) { - if (!pAlt[i].isEmpty() && - (bAllowDuplicates || !SeqHasEntry(aMerged, pAlt[i] ))) - pMerged[ nIndex++ ] = pAlt[ i ]; + if (!rAlt[i].isEmpty() && + (bAllowDuplicates || !SeqHasEntry(aMerged, rAlt[i] ))) + aMerged[ nIndex++ ] = rAlt[ i ]; } } - aMerged.realloc( nIndex ); + aMerged.resize( nIndex ); } return aMerged; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits