Kaydet (Commit) 67f4626d authored tarafından Michael Stahl's avatar Michael Stahl

ucb: fix mergedlib duplicate WeakImplHelper<XInteractionRequest>

Change-Id: I0666bb38e43240a0cbd972a141ecc36573c2ad6a
üst 93ab0ff2
......@@ -1208,19 +1208,17 @@ void SAL_CALL BaseContent::insert( sal_Int32 nMyCommandIdentifier,
if( success )
break;
XInteractionRequestImpl *aRequestImpl =
new XInteractionRequestImpl(
XInteractionRequestImpl aRequestImpl(
rtl::Uri::decode(
getTitle(m_aUncPath),
rtl_UriDecodeWithCharset,
RTL_TEXTENCODING_UTF8),
static_cast<cppu::OWeakObject*>(this),
m_pMyShell,nMyCommandIdentifier);
uno::Reference< task::XInteractionRequest > aReq( aRequestImpl );
uno::Reference<task::XInteractionRequest> const xReq(aRequestImpl.getRequest());
m_pMyShell->handleTask( nMyCommandIdentifier,aReq );
if( aRequestImpl->aborted() ||
aRequestImpl->newName().isEmpty() )
m_pMyShell->handleTask( nMyCommandIdentifier, xReq );
if (aRequestImpl.aborted() || aRequestImpl.newName().isEmpty())
// means aborting
break;
......@@ -1230,7 +1228,7 @@ void SAL_CALL BaseContent::insert( sal_Int32 nMyCommandIdentifier,
if( !m_aUncPath.endsWith( "/" ) )
m_aUncPath += "/";
m_aUncPath += rtl::Uri::encode( aRequestImpl->newName(),
m_aUncPath += rtl::Uri::encode( aRequestImpl.newName(),
rtl_UriCharClassPchar,
rtl_UriEncodeIgnoreEscapes,
RTL_TEXTENCODING_UTF8 );
......
......@@ -20,6 +20,9 @@
#include "filinsreq.hxx"
#include "shell.hxx"
#include "filglob.hxx"
#include <comphelper/interaction.hxx>
#include <com/sun/star/ucb/IOErrorCode.hpp>
#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
#include <com/sun/star/ucb/NameClashException.hpp>
......@@ -45,21 +48,14 @@ XInteractionRequestImpl::XInteractionRequestImpl(
p2( new XInteractionAbortImpl ),
m_nErrorCode(0),
m_nMinorError(0),
m_aSeq( 2 ),
m_aClashingName(aClashingName),
m_xOrigin(xOrigin)
{
if( pShell )
pShell->retrieveError(CommandId,m_nErrorCode,m_nMinorError);
m_aSeq[0] = Reference<XInteractionContinuation>(p1);
m_aSeq[1] = Reference<XInteractionContinuation>(p2);
}
Any SAL_CALL
XInteractionRequestImpl::getRequest()
throw(RuntimeException, std::exception)
{
uno::Sequence<uno::Reference<task::XInteractionContinuation>> continuations{
Reference<XInteractionContinuation>(p1),
Reference<XInteractionContinuation>(p2) };
Any aAny;
if(m_nErrorCode == TASKHANDLING_FOLDER_EXISTS_MKDIR)
{
......@@ -67,7 +63,7 @@ XInteractionRequestImpl::getRequest()
excep.Name = m_aClashingName;
excep.Classification = InteractionClassification_ERROR;
excep.Context = m_xOrigin;
excep.Message = "folder exists and overwritte forbidden";
excep.Message = "folder exists and overwrite forbidden";
aAny <<= excep;
}
else if(m_nErrorCode == TASKHANDLING_INVALID_NAME_MKDIR)
......@@ -87,7 +83,7 @@ XInteractionRequestImpl::getRequest()
aAny <<= excep;
}
return aAny;
m_xRequest.set(new ::comphelper::OInteractionRequest(aAny, continuations));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -104,8 +104,7 @@ class XInteractionSupplyNameImpl : public cppu::WeakImplHelper<
class XInteractionRequestImpl : public cppu::WeakImplHelper<
css::task::XInteractionRequest >
class XInteractionRequestImpl
{
public:
......@@ -116,18 +115,6 @@ class XInteractionSupplyNameImpl : public cppu::WeakImplHelper<
shell* pShell,
sal_Int32 CommandId);
::com::sun::star::uno::Any SAL_CALL getRequest( )
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
com::sun::star::uno::Sequence<
com::sun::star::uno::Reference<
com::sun::star::task::XInteractionContinuation > > SAL_CALL
getContinuations( )
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
{
return m_aSeq;
}
bool aborted() const
{
return p2->isSelected();
......@@ -141,15 +128,18 @@ class XInteractionSupplyNameImpl : public cppu::WeakImplHelper<
return OUString();
}
css::uno::Reference<css::task::XInteractionRequest> const& getRequest() const
{
return m_xRequest;
}
private:
XInteractionSupplyNameImpl* p1;
XInteractionAbortImpl* p2;
sal_Int32 m_nErrorCode,m_nMinorError;
com::sun::star::uno::Sequence<
com::sun::star::uno::Reference<
com::sun::star::task::XInteractionContinuation > > m_aSeq;
css::uno::Reference<css::task::XInteractionRequest> m_xRequest;
OUString m_aClashingName;
com::sun::star::uno::Reference<
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment