xref: /AOO41X/main/ucb/source/ucp/webdav/SerfUnlockProcImpl.hxx (revision 3edf699282957a8d2e0e344ed73ba96dfb5a45a4)
1*3edf6992SAndrea Pescetti /**************************************************************
2*3edf6992SAndrea Pescetti  *
3*3edf6992SAndrea Pescetti  * Licensed to the Apache Software Foundation (ASF) under one
4*3edf6992SAndrea Pescetti  * or more contributor license agreements.  See the NOTICE file
5*3edf6992SAndrea Pescetti  * distributed with this work for additional information
6*3edf6992SAndrea Pescetti  * regarding copyright ownership.  The ASF licenses this file
7*3edf6992SAndrea Pescetti  * to you under the Apache License, Version 2.0 (the
8*3edf6992SAndrea Pescetti  * "License"); you may not use this file except in compliance
9*3edf6992SAndrea Pescetti  * with the License.  You may obtain a copy of the License at
10*3edf6992SAndrea Pescetti  *
11*3edf6992SAndrea Pescetti  *   http://www.apache.org/licenses/LICENSE-2.0
12*3edf6992SAndrea Pescetti  *
13*3edf6992SAndrea Pescetti  * Unless required by applicable law or agreed to in writing,
14*3edf6992SAndrea Pescetti  * software distributed under the License is distributed on an
15*3edf6992SAndrea Pescetti  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*3edf6992SAndrea Pescetti  * KIND, either express or implied.  See the License for the
17*3edf6992SAndrea Pescetti  * specific language governing permissions and limitations
18*3edf6992SAndrea Pescetti  * under the License.
19*3edf6992SAndrea Pescetti  *
20*3edf6992SAndrea Pescetti  *************************************************************/
21*3edf6992SAndrea Pescetti 
22*3edf6992SAndrea Pescetti #ifndef INCLUDED_SERFUNLOCKPROCIMPL_HXX
23*3edf6992SAndrea Pescetti #define INCLUDED_SERFUNLOCKPROCIMPL_HXX
24*3edf6992SAndrea Pescetti 
25*3edf6992SAndrea Pescetti #include "SerfTypes.hxx"
26*3edf6992SAndrea Pescetti #include "SerfRequestProcessorImpl.hxx"
27*3edf6992SAndrea Pescetti 
28*3edf6992SAndrea Pescetti #include "SerfInputStream.hxx"
29*3edf6992SAndrea Pescetti 
30*3edf6992SAndrea Pescetti #include <vector>
31*3edf6992SAndrea Pescetti #include <rtl/ustring.hxx>
32*3edf6992SAndrea Pescetti #include "SerfTypes.hxx"
33*3edf6992SAndrea Pescetti #include "DAVTypes.hxx"
34*3edf6992SAndrea Pescetti #include "DAVResource.hxx"
35*3edf6992SAndrea Pescetti 
36*3edf6992SAndrea Pescetti namespace http_dav_ucp
37*3edf6992SAndrea Pescetti {
38*3edf6992SAndrea Pescetti 
39*3edf6992SAndrea Pescetti     class SerfUnlockProcImpl : public SerfRequestProcessorImpl
40*3edf6992SAndrea Pescetti     {
41*3edf6992SAndrea Pescetti 
42*3edf6992SAndrea Pescetti     protected:
43*3edf6992SAndrea Pescetti         const ucb::Lock     mLock;
44*3edf6992SAndrea Pescetti         const char*         mpLockToken;
45*3edf6992SAndrea Pescetti         com::sun::star::uno::Reference< SerfInputStream > xInputStream;
46*3edf6992SAndrea Pescetti 
47*3edf6992SAndrea Pescetti     public:
48*3edf6992SAndrea Pescetti         SerfUnlockProcImpl( const char* inSourcePath,
49*3edf6992SAndrea Pescetti                             const DAVRequestHeaders& inRequestHeaders,
50*3edf6992SAndrea Pescetti                             const ucb::Lock& inLock,
51*3edf6992SAndrea Pescetti                             const char* inLockToken );
52*3edf6992SAndrea Pescetti 
53*3edf6992SAndrea Pescetti         virtual ~SerfUnlockProcImpl();
54*3edf6992SAndrea Pescetti 
55*3edf6992SAndrea Pescetti         virtual
56*3edf6992SAndrea Pescetti         serf_bucket_t * createSerfRequestBucket( serf_request_t * inSerfRequest );
57*3edf6992SAndrea Pescetti 
58*3edf6992SAndrea Pescetti     protected:
59*3edf6992SAndrea Pescetti         virtual
60*3edf6992SAndrea Pescetti         void processChunkOfResponseData( const char* data, apr_size_t len );
61*3edf6992SAndrea Pescetti 
62*3edf6992SAndrea Pescetti         virtual
63*3edf6992SAndrea Pescetti         void handleEndOfResponseData( serf_bucket_t * inSerfResponseBucket );
64*3edf6992SAndrea Pescetti 
65*3edf6992SAndrea Pescetti     };
66*3edf6992SAndrea Pescetti 
67*3edf6992SAndrea Pescetti } // namespace http_dav_ucp
68*3edf6992SAndrea Pescetti 
69*3edf6992SAndrea Pescetti #endif // INCLUDED_SERFUNLOCKPROCIMPL_HXX
70