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