summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/webdav/webdavcontent.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/webdav/webdavcontent.cxx')
-rw-r--r--ucb/source/ucp/webdav/webdavcontent.cxx16
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!
+ }
}
//=========================================================================