summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/webdav/webdavcontent.cxx16
-rw-r--r--ucb/source/ucp/webdav/webdavcontent.hxx3
2 files changed, 12 insertions, 7 deletions
diff --git a/ucb/source/ucp/webdav/webdavcontent.cxx b/ucb/source/ucp/webdav/webdavcontent.cxx
index b783e166a52a..dbc13b74b9a2 100644
--- a/ucb/source/ucp/webdav/webdavcontent.cxx
+++ b/ucb/source/ucp/webdav/webdavcontent.cxx
@@ -1371,14 +1371,12 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
if ( !m_bTransient && !bHasAll )
{
-
// Obtain values from server...
// First, identify whether resource is DAV or not
- const ResourceType & rType = getResourceType( xEnv, xResAccess );
-
bool bNetworkAccessAllowed = true;
+ const ResourceType & rType = getResourceType( xEnv, xResAccess, &bNetworkAccessAllowed );
if ( DAV == rType )
{
@@ -3321,15 +3319,15 @@ Content::getBaseURI( const boost::scoped_ptr< DAVResourceAccess > & rResAccess )
const Content::ResourceType & Content::getResourceType(
const uno::Reference< ucb::XCommandEnvironment >& xEnv,
- const boost::scoped_ptr< DAVResourceAccess > & rResAccess )
+ const boost::scoped_ptr< DAVResourceAccess > & rResAccess,
+ bool * networkAccessAllowed )
throw ( uno::Exception )
{
if ( m_eResourceType == UNKNOWN )
{
osl::Guard< osl::Mutex > aGuard( m_aMutex );
- ResourceType eResourceType;
- eResourceType = m_eResourceType;
+ ResourceType eResourceType = UNKNOWN;
try
{
@@ -3372,6 +3370,12 @@ const Content::ResourceType & Content::getResourceType(
// resource is NON_DAV
eResourceType = NON_DAV;
}
+ else if (networkAccessAllowed != 0)
+ {
+ *networkAccessAllowed = *networkAccessAllowed
+ && shouldAccessNetworkAfterException(e);
+ }
+
// cancel command execution is case that no user authentication data has been provided.
if ( e.getError() == DAVException::DAV_HTTP_NOAUTH )
{
diff --git a/ucb/source/ucp/webdav/webdavcontent.hxx b/ucb/source/ucp/webdav/webdavcontent.hxx
index f9daf3d78ea7..04a115bfdea3 100644
--- a/ucb/source/ucp/webdav/webdavcontent.hxx
+++ b/ucb/source/ucp/webdav/webdavcontent.hxx
@@ -132,7 +132,8 @@ private:
const ResourceType &
getResourceType( const ::com::sun::star::uno::Reference<
::com::sun::star::ucb::XCommandEnvironment >& xEnv,
- const boost::scoped_ptr< DAVResourceAccess > & rResAccess )
+ const boost::scoped_ptr< DAVResourceAccess > & rResAccess,
+ bool * networkAccessAllowed = 0 )
throw ( ::com::sun::star::uno::Exception );
// Command "open"