diff options
Diffstat (limited to 'ucb/source/ucp/webdav/webdavcontent.cxx')
-rw-r--r-- | ucb/source/ucp/webdav/webdavcontent.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ucb/source/ucp/webdav/webdavcontent.cxx b/ucb/source/ucp/webdav/webdavcontent.cxx index dff18a5f1d73..afe2f2d3a7a8 100644 --- a/ucb/source/ucp/webdav/webdavcontent.cxx +++ b/ucb/source/ucp/webdav/webdavcontent.cxx @@ -862,8 +862,20 @@ uno::Any SAL_CALL Content::execute( void SAL_CALL Content::abort( sal_Int32 /*CommandId*/ ) throw( uno::RuntimeException ) { - // @@@ Implement logic to abort running commands, if this makes - // sense for your conten.t + try + { + std::auto_ptr< DAVResourceAccess > xResAccess; + { + osl::MutexGuard aGuard( m_aMutex ); + xResAccess.reset( + new DAVResourceAccess( *m_xResAccess.get() ) ); + } + xResAccess->ABORT(); + } + catch ( DAVException const & /*e*/ ) + { + // ABORT command failed! + } } //========================================================================= |