sequence->vector in OInteractionRequest

Change-Id: I995cb96e514e1aaa05a96f29344ef51e4ca83c64
This commit is contained in:
Noel Grandin
2016-01-29 10:54:23 +02:00
parent 31f1294163
commit e76b009781
5 changed files with 13 additions and 16 deletions
+3 -5
View File
@@ -45,7 +45,7 @@ namespace comphelper
}
OInteractionRequest::OInteractionRequest(const Any& rRequestDescription,
Sequence<Reference<XInteractionContinuation>> const& rContinuations)
std::vector<Reference<XInteractionContinuation>> const& rContinuations)
: m_aRequest(rRequestDescription)
, m_aContinuations(rContinuations)
{
@@ -56,9 +56,7 @@ namespace comphelper
OSL_ENSURE(_rxContinuation.is(), "OInteractionRequest::addContinuation: invalid argument!");
if (_rxContinuation.is())
{
sal_Int32 nOldLen = m_aContinuations.getLength();
m_aContinuations.realloc(nOldLen + 1);
m_aContinuations[nOldLen] = _rxContinuation;
m_aContinuations.push_back(_rxContinuation);
}
}
@@ -71,7 +69,7 @@ namespace comphelper
Sequence< Reference< XInteractionContinuation > > SAL_CALL OInteractionRequest::getContinuations( ) throw(RuntimeException, std::exception)
{
return m_aContinuations;
return comphelper::containerToSequence(m_aContinuations);
}
@@ -108,11 +108,9 @@ bool interactContinuation( Any const & request,
if (xInteractionHandler.is()) {
bool cont = false;
bool abort = false;
Sequence< Reference<task::XInteractionContinuation> > conts( 2 );
conts[ 0 ] = new InteractionContinuationImpl(
continuation, &cont );
conts[ 1 ] = new InteractionContinuationImpl(
cppu::UnoType<task::XInteractionAbort>::get(), &abort );
std::vector< Reference<task::XInteractionContinuation> > conts {
new InteractionContinuationImpl(continuation, &cont ),
new InteractionContinuationImpl( cppu::UnoType<task::XInteractionAbort>::get(), &abort ) };
xInteractionHandler->handle(
new ::comphelper::OInteractionRequest( request, conts ) );
if (cont || abort) {
+5 -4
View File
@@ -29,6 +29,7 @@
#include <com/sun/star/task/XInteractionPassword.hpp>
#include <com/sun/star/task/XInteractionRequest.hpp>
#include <comphelper/comphelperdllapi.h>
#include <vector>
namespace comphelper
@@ -38,8 +39,8 @@ namespace comphelper
//= OInteraction
/** template for instantiating concret interaction handlers<p/>
the template argument must eb an interface derived from XInteractionContinuation
/** template for instantiating concrete interaction handlers<p/>
the template argument must be an interface derived from XInteractionContinuation
*/
template <class INTERACTION>
class OInteraction
@@ -119,13 +120,13 @@ namespace comphelper
{
css::uno::Any
m_aRequest; /// the request we represent
css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > >
std::vector< css::uno::Reference< css::task::XInteractionContinuation > >
m_aContinuations; /// all registered continuations
public:
OInteractionRequest(const css::uno::Any& _rRequestDescription);
OInteractionRequest(const css::uno::Any& rRequestDescription,
css::uno::Sequence<css::uno::Reference<css::task::XInteractionContinuation>> const& rContinuations);
std::vector<css::uno::Reference<css::task::XInteractionContinuation>> const& rContinuations);
/// add a new continuation
void addContinuation(const css::uno::Reference< css::task::XInteractionContinuation >& _rxContinuation);
+1 -1
View File
@@ -53,7 +53,7 @@ XInteractionRequestImpl::XInteractionRequestImpl(
{
if( pShell )
pShell->retrieveError(CommandId,m_nErrorCode,m_nMinorError);
uno::Sequence<uno::Reference<task::XInteractionContinuation>> continuations{
std::vector<uno::Reference<task::XInteractionContinuation>> continuations{
Reference<XInteractionContinuation>(p1),
Reference<XInteractionContinuation>(p2) };
Any aAny;
+1 -1
View File
@@ -69,7 +69,7 @@ XInteractionRequestImpl::XInteractionRequestImpl()
: p1( new XInteractionApproveImpl )
, p2( new XInteractionDisapproveImpl )
{
uno::Sequence<uno::Reference<task::XInteractionContinuation>> continuations{
std::vector<uno::Reference<task::XInteractionContinuation>> continuations{
Reference<XInteractionContinuation>(p1),
Reference<XInteractionContinuation>(p2) };
Any aAny;