LibreOffice Module ucb (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
http_dav_ucp::DAVResourceAccess Class Reference

#include <DAVResourceAccess.hxx>

Collaboration diagram for http_dav_ucp::DAVResourceAccess:
[legend]

Public Member Functions

 DAVResourceAccess ()=default
 
 DAVResourceAccess (const css::uno::Reference< css::uno::XComponentContext > &rContext, rtl::Reference< DAVSessionFactory > const &rSessionFactory, const OUString &rURL)
 
 DAVResourceAccess (const DAVResourceAccess &rOther)
 
DAVResourceAccessoperator= (const DAVResourceAccess &rOther)
 
void setFlags (const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > &rFlags)
 
void setURL (const OUString &rNewURL)
 
void resetUri ()
 
const OUString & getURL () const
 
const rtl::Reference< DAVSessionFactory > & getSessionFactory () const
 
void OPTIONS (DAVOptions &rOptions, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void PROPFIND (const Depth nDepth, const std::vector< OUString > &rPropertyNames, std::vector< DAVResource > &rResources, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void PROPFIND (const Depth nDepth, std::vector< DAVResourceInfo > &rResInfo, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void PROPPATCH (const std::vector< ProppatchValue > &rValues, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void HEAD (const std::vector< OUString > &rHeaderNames, DAVResource &rResource, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
css::uno::Reference< css::io::XInputStream > GET (const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void GET (css::uno::Reference< css::io::XOutputStream > &rStream, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
css::uno::Reference< css::io::XInputStream > GET (const std::vector< OUString > &rHeaderNames, DAVResource &rResource, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void GET0 (DAVRequestHeaders &rRequestHeaders, const std::vector< OUString > &rHeaderNames, DAVResource &rResource, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 used as HEAD substitute when HEAD is not implemented on server More...
 
void GET (css::uno::Reference< css::io::XOutputStream > &rStream, const std::vector< OUString > &rHeaderNames, DAVResource &rResource, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void PUT (const css::uno::Reference< css::io::XInputStream > &rStream, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
css::uno::Reference< css::io::XInputStream > POST (const OUString &rContentType, const OUString &rReferer, const css::uno::Reference< css::io::XInputStream > &rInputStream, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void POST (const OUString &rContentType, const OUString &rReferer, const css::uno::Reference< css::io::XInputStream > &rInputStream, css::uno::Reference< css::io::XOutputStream > &rOutputStream, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void MKCOL (const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void COPY (const OUString &rSourcePath, const OUString &rDestinationURI, bool bOverwrite, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void MOVE (const OUString &rSourcePath, const OUString &rDestinationURI, bool bOverwrite, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void DESTROY (const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void LOCK (css::ucb::Lock &inLock, const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void UNLOCK (const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv)
 
void abort ()
 
bool handleException (DAVException const &e, int errorCount)
 

Static Public Member Functions

static void getUserRequestHeaders (const css::uno::Reference< css::ucb::XCommandEnvironment > &xEnv, const OUString &rURI, css::ucb::WebDAVHTTPMethod eMethod, DAVRequestHeaders &rRequestHeaders)
 

Private Member Functions

const OUString & getRequestURI () const
 
bool detectRedirectCycle (::std::u16string_view rRedirectURL)
 
void initialize ()
 

Private Attributes

osl::Mutex m_aMutex
 
OUString m_aURL
 
OUString m_aPath
 
::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > m_aFlags
 
rtl::Reference< DAVSessionm_xSession
 
rtl::Reference< DAVSessionFactorym_xSessionFactory
 
css::uno::Reference< css::uno::XComponentContext > m_xContext
 
std::vector< CurlUrim_aRedirectURIs
 
sal_uInt32 m_nRedirectLimit
 

Detailed Description

Definition at line 45 of file DAVResourceAccess.hxx.

Constructor & Destructor Documentation

http_dav_ucp::DAVResourceAccess::DAVResourceAccess ( )
default
http_dav_ucp::DAVResourceAccess::DAVResourceAccess ( const css::uno::Reference< css::uno::XComponentContext > &  rContext,
rtl::Reference< DAVSessionFactory > const &  rSessionFactory,
const OUString &  rURL 
)
DAVResourceAccess::DAVResourceAccess ( const DAVResourceAccess rOther)

Definition at line 136 of file DAVResourceAccess.cxx.

References m_aURL, and m_xContext.

Member Function Documentation

void DAVResourceAccess::abort ( )
Exceptions
DAVException

Definition at line 559 of file DAVResourceAccess.cxx.

References m_aMutex, and m_xSession.

void DAVResourceAccess::COPY ( const OUString &  rSourcePath,
const OUString &  rDestinationURI,
bool  bOverwrite,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
void DAVResourceAccess::DESTROY ( const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv)
bool DAVResourceAccess::detectRedirectCycle ( ::std::u16string_view  rRedirectURL)
private
Exceptions
DAVException

Definition at line 1085 of file DAVResourceAccess.cxx.

References m_aMutex, m_aRedirectURIs, and m_nRedirectLimit.

Referenced by handleException().

css::uno::Reference< css::io::XInputStream > http_dav_ucp::DAVResourceAccess::GET ( const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv)
Exceptions
DAVException
void http_dav_ucp::DAVResourceAccess::GET ( css::uno::Reference< css::io::XOutputStream > &  rStream,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
css::uno::Reference< css::io::XInputStream > http_dav_ucp::DAVResourceAccess::GET ( const std::vector< OUString > &  rHeaderNames,
DAVResource rResource,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void http_dav_ucp::DAVResourceAccess::GET ( css::uno::Reference< css::io::XOutputStream > &  rStream,
const std::vector< OUString > &  rHeaderNames,
DAVResource rResource,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void DAVResourceAccess::GET0 ( DAVRequestHeaders rRequestHeaders,
const std::vector< OUString > &  rHeaderNames,
DAVResource rResource,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)

used as HEAD substitute when HEAD is not implemented on server

Exceptions
DAVException

Definition at line 478 of file DAVResourceAccess.cxx.

References getRequestURI(), getUserRequestHeaders(), handleException(), initialize(), m_aURL, and m_xSession.

const OUString & DAVResourceAccess::getRequestURI ( ) const
private

Definition at line 1044 of file DAVResourceAccess.cxx.

References m_aPath, m_aURL, and m_xSession.

Referenced by COPY(), DESTROY(), GET0(), HEAD(), LOCK(), MKCOL(), MOVE(), OPTIONS(), PROPPATCH(), PUT(), and UNLOCK().

const rtl::Reference< DAVSessionFactory >& http_dav_ucp::DAVResourceAccess::getSessionFactory ( ) const
inline

Definition at line 76 of file DAVResourceAccess.hxx.

References m_xSessionFactory.

const OUString& http_dav_ucp::DAVResourceAccess::getURL ( ) const
inline

Definition at line 74 of file DAVResourceAccess.hxx.

References m_aURL.

void DAVResourceAccess::getUserRequestHeaders ( const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv,
const OUString &  rURI,
css::ucb::WebDAVHTTPMethod  eMethod,
DAVRequestHeaders rRequestHeaders 
)
static

Definition at line 1058 of file DAVResourceAccess.cxx.

References First, and n.

Referenced by COPY(), DESTROY(), GET0(), HEAD(), LOCK(), MKCOL(), MOVE(), OPTIONS(), PROPPATCH(), PUT(), and UNLOCK().

bool DAVResourceAccess::handleException ( DAVException const &  e,
int  errorCount 
)
void DAVResourceAccess::HEAD ( const std::vector< OUString > &  rHeaderNames,
DAVResource rResource,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
void DAVResourceAccess::initialize ( )
private
void DAVResourceAccess::LOCK ( css::ucb::Lock &  inLock,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
void DAVResourceAccess::MKCOL ( const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv)
void DAVResourceAccess::MOVE ( const OUString &  rSourcePath,
const OUString &  rDestinationURI,
bool  bOverwrite,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
DAVResourceAccess & DAVResourceAccess::operator= ( const DAVResourceAccess rOther)
void DAVResourceAccess::OPTIONS ( DAVOptions rOptions,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
css::uno::Reference< css::io::XInputStream > http_dav_ucp::DAVResourceAccess::POST ( const OUString &  rContentType,
const OUString &  rReferer,
const css::uno::Reference< css::io::XInputStream > &  rInputStream,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void http_dav_ucp::DAVResourceAccess::POST ( const OUString &  rContentType,
const OUString &  rReferer,
const css::uno::Reference< css::io::XInputStream > &  rInputStream,
css::uno::Reference< css::io::XOutputStream > &  rOutputStream,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void http_dav_ucp::DAVResourceAccess::PROPFIND ( const Depth  nDepth,
const std::vector< OUString > &  rPropertyNames,
std::vector< DAVResource > &  rResources,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void http_dav_ucp::DAVResourceAccess::PROPFIND ( const Depth  nDepth,
std::vector< DAVResourceInfo > &  rResInfo,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
Exceptions
DAVException
void DAVResourceAccess::PROPPATCH ( const std::vector< ProppatchValue > &  rValues,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
void DAVResourceAccess::PUT ( const css::uno::Reference< css::io::XInputStream > &  rStream,
const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv 
)
void DAVResourceAccess::resetUri ( )
void DAVResourceAccess::setFlags ( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > &  rFlags)
Exceptions
DAVException

Definition at line 989 of file DAVResourceAccess.cxx.

References m_aFlags, and m_aMutex.

void DAVResourceAccess::setURL ( const OUString &  rNewURL)
Exceptions
DAVException

Definition at line 995 of file DAVResourceAccess.cxx.

References m_aMutex, m_aPath, and m_aURL.

Referenced by handleException(), and resetUri().

void DAVResourceAccess::UNLOCK ( const css::uno::Reference< css::ucb::XCommandEnvironment > &  xEnv)

Member Data Documentation

::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > http_dav_ucp::DAVResourceAccess::m_aFlags
private

Definition at line 50 of file DAVResourceAccess.hxx.

Referenced by initialize(), operator=(), and setFlags().

osl::Mutex http_dav_ucp::DAVResourceAccess::m_aMutex
private

Definition at line 47 of file DAVResourceAccess.hxx.

Referenced by abort(), detectRedirectCycle(), initialize(), resetUri(), setFlags(), and setURL().

OUString http_dav_ucp::DAVResourceAccess::m_aPath
private

Definition at line 49 of file DAVResourceAccess.hxx.

Referenced by getRequestURI(), initialize(), operator=(), and setURL().

std::vector<CurlUri> http_dav_ucp::DAVResourceAccess::m_aRedirectURIs
private

Definition at line 54 of file DAVResourceAccess.hxx.

Referenced by detectRedirectCycle(), initialize(), operator=(), and resetUri().

OUString http_dav_ucp::DAVResourceAccess::m_aURL
private
sal_uInt32 http_dav_ucp::DAVResourceAccess::m_nRedirectLimit
private

Definition at line 55 of file DAVResourceAccess.hxx.

Referenced by detectRedirectCycle(), and operator=().

css::uno::Reference< css::uno::XComponentContext > http_dav_ucp::DAVResourceAccess::m_xContext
private

Definition at line 53 of file DAVResourceAccess.hxx.

Referenced by initialize(), operator=(), and PUT().

rtl::Reference< DAVSession > http_dav_ucp::DAVResourceAccess::m_xSession
private
rtl::Reference< DAVSessionFactory > http_dav_ucp::DAVResourceAccess::m_xSessionFactory
private

Definition at line 52 of file DAVResourceAccess.hxx.

Referenced by getSessionFactory(), initialize(), and operator=().


The documentation for this class was generated from the following files: