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.cxx21
1 files changed, 17 insertions, 4 deletions
diff --git a/ucb/source/ucp/webdav/webdavcontent.cxx b/ucb/source/ucp/webdav/webdavcontent.cxx
index 78809c7a3a49..ff820f882aa8 100644
--- a/ucb/source/ucp/webdav/webdavcontent.cxx
+++ b/ucb/source/ucp/webdav/webdavcontent.cxx
@@ -68,7 +68,7 @@
#include <com/sun/star/ucb/MissingPropertiesException.hpp>
#include <com/sun/star/ucb/NameClash.hpp>
#include <com/sun/star/ucb/NameClashException.hpp>
-#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
+#include <com/sun/star/ucb/OpenCommandArgument3.hpp>
#include <com/sun/star/ucb/OpenMode.hpp>
#include <com/sun/star/ucb/PostCommandArgument2.hpp>
#include <com/sun/star/ucb/TransferInfo.hpp>
@@ -493,8 +493,9 @@ uno::Any SAL_CALL Content::execute(
// open
//////////////////////////////////////////////////////////////////
- ucb::OpenCommandArgument2 aOpenCommand;
- if ( !( aCommand.Argument >>= aOpenCommand ) )
+ ucb::OpenCommandArgument3 aOpenCommand;
+ ucb::OpenCommandArgument2 aTmp;
+ if ( !( aCommand.Argument >>= aTmp ) )
{
ucbhelper::cancelCommandExecution(
uno::makeAny( lang::IllegalArgumentException(
@@ -505,6 +506,15 @@ uno::Any SAL_CALL Content::execute(
Environment );
// Unreachable
}
+ if ( !( aCommand.Argument >>= aOpenCommand ) )
+ {
+ // compat mode, extract Arg2 info into newer structure
+ aOpenCommand.Mode = aTmp.Mode;
+ aOpenCommand.Priority = aTmp.Priority;
+ aOpenCommand.Sink = aTmp.Sink;
+ aOpenCommand.Properties = aTmp.Properties;
+ aOpenCommand.SortingInfo = aTmp.SortingInfo;
+ }
aRet = open( aOpenCommand, Environment );
}
@@ -1901,7 +1911,7 @@ uno::Sequence< uno::Any > Content::setPropertyValues(
//=========================================================================
uno::Any Content::open(
- const ucb::OpenCommandArgument2 & rArg,
+ const ucb::OpenCommandArgument3 & rArg,
const uno::Reference< ucb::XCommandEnvironment > & xEnv )
throw( uno::Exception )
{
@@ -1985,6 +1995,7 @@ uno::Any Content::open(
new DAVResourceAccess( *m_xResAccess.get() ) );
}
+ xResAccess->setFlags( rArg.OpeningFlags );
DAVResource aResource;
std::vector< rtl::OUString > aHeaders;
@@ -2031,6 +2042,8 @@ uno::Any Content::open(
new DAVResourceAccess( *m_xResAccess.get() ) );
}
+ xResAccess->setFlags( rArg.OpeningFlags );
+
// fill inputsream sync; return if all data present
DAVResource aResource;
std::vector< rtl::OUString > aHeaders;