23 #include <apr_errno.h>
24 #include <apr_pools.h>
33 #include <com/sun/star/io/XOutputStream.hpp>
34 #include <com/sun/star/ucb/Lock.hpp>
36 #include <rtl/ref.hxx>
42 class SerfRequestProcessorImpl;
48 const OUString & inPath,
49 const bool bUseChunkedEncoding );
54 const std::vector< OUString > & inPropNames,
55 std::vector< DAVResource > & ioResources,
56 apr_status_t& outSerfStatus );
60 std::vector< DAVResourceInfo > & ioResInfo,
61 apr_status_t& outSerfStatus );
65 apr_status_t& outSerfStatus );
69 apr_status_t& outSerfStatus );
73 const std::vector< OUString > & inHeaderNames,
75 apr_status_t& outSerfStatus );
78 bool processGet(
const css::uno::Reference< css::io::XOutputStream >& xioOutStrm,
79 apr_status_t& outSerfStatus );
82 bool processGet(
const css::uno::Reference< css::io::XOutputStream >& xioOutStrm,
83 const std::vector< OUString > & inHeaderNames,
85 apr_status_t& outSerfStatus );
88 bool processHead(
const std::vector< OUString > & inHeaderNames,
90 apr_status_t& outSerfStatus );
95 apr_status_t& outSerfStatus );
100 const OUString & inContentType,
101 const OUString & inReferer,
103 apr_status_t& outSerfStatus );
107 apr_size_t inDataLen,
108 const OUString & inContentType,
109 const OUString & inReferer,
110 const css::uno::Reference< css::io::XOutputStream >& xioOutStrm,
111 apr_status_t& outSerfStatus );
120 bool processCopy(
const OUString & inDestinationPath,
121 const bool inOverwrite,
122 apr_status_t& outSerfStatus );
125 bool processMove(
const OUString & inDestinationPath,
126 const bool inOverwrite,
127 apr_status_t& outSerfStatus );
130 bool processLock(
const css::ucb::Lock & rLock, sal_Int32 *plastChanceToSendRefreshRequest =
nullptr );
137 serf_request_t * inRequest,
139 const char *inAuthProtocol,
141 apr_pool_t *inAprPool );
144 serf_bucket_t ** outSerfRequestBucket,
145 serf_response_acceptor_t * outSerfResponseAcceptor,
146 void ** outSerfResponseAcceptorBaton,
147 serf_response_handler_t * outSerfResponseHandler,
148 void ** outSerfResponseHandlerBaton,
149 apr_pool_t * inAprPool );
152 serf_bucket_t * inSerfStreamBucket,
153 apr_pool_t* inAprPool );
156 serf_bucket_t * inSerfResponseBucket,
157 apr_pool_t * inAprPool );
bool mbAcceptSerfResponseCalled
bool mbHandleSerfResponseCalled
bool processMove(const OUString &inDestinationPath, const bool inOverwrite, apr_status_t &outSerfStatus)
bool processCopy(const OUString &inDestinationPath, const bool inOverwrite, apr_status_t &outSerfStatus)
bool processHead(const std::vector< OUString > &inHeaderNames, DAVResource &ioResource, apr_status_t &outSerfStatus)
const bool mbUseChunkedEncoding
const char * mDestPathStr
bool processMkCol(apr_status_t &outSerfStatus)
bool processDelete(apr_status_t &outSerfStatus)
bool mbInputOfCredentialsAborted
SerfRequestProcessor(SerfSession &rSerfSession, const OUString &inPath, const bool bUseChunkedEncoding)
void postprocessProcessor(const apr_status_t inStatus)
apr_status_t runProcessor()
SerfSession & mrSerfSession
apr_status_t provideSerfCredentials(char **outUsername, char **outPassword, serf_request_t *inRequest, int inCode, const char *inAuthProtocol, const char *inRealm, apr_pool_t *inAprPool)
bool processGet(const rtl::Reference< SerfInputStream > &xioInStrm, apr_status_t &outSerfStatus)
apr_status_t setupSerfRequest(serf_request_t *inSerfRequest, serf_bucket_t **outSerfRequestBucket, serf_response_acceptor_t *outSerfResponseAcceptor, void **outSerfResponseAcceptorBaton, serf_response_handler_t *outSerfResponseHandler, void **outSerfResponseHandlerBaton, apr_pool_t *inAprPool)
bool processPropPatch(const std::vector< ProppatchValue > &inProperties, apr_status_t &outSerfStatus)
bool mbSetupSerfRequestCalled
bool processLock(const css::ucb::Lock &rLock, sal_Int32 *plastChanceToSendRefreshRequest=nullptr)
serf_bucket_t * acceptSerfResponse(serf_request_t *inSerfRequest, serf_bucket_t *inSerfStreamBucket, apr_pool_t *inAprPool)
apr_status_t handleSerfResponse(serf_request_t *inSerfRequest, serf_bucket_t *inSerfResponseBucket, apr_pool_t *inAprPool)
const char * mContentType
sal_uInt8 mnSuccessfulCredentialAttempts
OUString mHTTPStatusCodeText
bool processPost(const char *inData, apr_size_t inDataLen, const OUString &inContentType, const OUString &inReferer, const rtl::Reference< SerfInputStream > &xioInStrm, apr_status_t &outSerfStatus)
DAVException * mpDAVException
SerfRequestProcessorImpl * mpProcImpl
sal_uInt16 mnHTTPStatusCode
bool processPut(const char *inData, apr_size_t inDataLen, apr_status_t &outSerfStatus)
bool processPropFind(const Depth inDepth, const std::vector< OUString > &inPropNames, std::vector< DAVResource > &ioResources, apr_status_t &outSerfStatus)
OUString mRedirectLocation