xref: /AOO41X/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx (revision 8590a0fdd306f78ee72b863c64cbcf09c28509eb)
1*8590a0fdSAndre Fischer /**************************************************************
2*8590a0fdSAndre Fischer  *
3*8590a0fdSAndre Fischer  * Licensed to the Apache Software Foundation (ASF) under one
4*8590a0fdSAndre Fischer  * or more contributor license agreements.  See the NOTICE file
5*8590a0fdSAndre Fischer  * distributed with this work for additional information
6*8590a0fdSAndre Fischer  * regarding copyright ownership.  The ASF licenses this file
7*8590a0fdSAndre Fischer  * to you under the Apache License, Version 2.0 (the
8*8590a0fdSAndre Fischer  * "License"); you may not use this file except in compliance
9*8590a0fdSAndre Fischer  * with the License.  You may obtain a copy of the License at
10*8590a0fdSAndre Fischer  *
11*8590a0fdSAndre Fischer  *   http://www.apache.org/licenses/LICENSE-2.0
12*8590a0fdSAndre Fischer  *
13*8590a0fdSAndre Fischer  * Unless required by applicable law or agreed to in writing,
14*8590a0fdSAndre Fischer  * software distributed under the License is distributed on an
15*8590a0fdSAndre Fischer  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*8590a0fdSAndre Fischer  * KIND, either express or implied.  See the License for the
17*8590a0fdSAndre Fischer  * specific language governing permissions and limitations
18*8590a0fdSAndre Fischer  * under the License.
19*8590a0fdSAndre Fischer  *
20*8590a0fdSAndre Fischer  *************************************************************/
21*8590a0fdSAndre Fischer 
22*8590a0fdSAndre Fischer #ifndef INCLUDED_SERFREQUESTPROCESSORIMPL_HXX
23*8590a0fdSAndre Fischer #define INCLUDED_SERFREQUESTPROCESSORIMPL_HXX
24*8590a0fdSAndre Fischer 
25*8590a0fdSAndre Fischer #include <serf.h>
26*8590a0fdSAndre Fischer 
27*8590a0fdSAndre Fischer #include <sal/types.h>
28*8590a0fdSAndre Fischer 
29*8590a0fdSAndre Fischer namespace http_dav_ucp
30*8590a0fdSAndre Fischer {
31*8590a0fdSAndre Fischer 
32*8590a0fdSAndre Fischer class SerfRequestProcessorImpl
33*8590a0fdSAndre Fischer {
34*8590a0fdSAndre Fischer public:
35*8590a0fdSAndre Fischer     SerfRequestProcessorImpl( const char* inPath );
36*8590a0fdSAndre Fischer 
37*8590a0fdSAndre Fischer     virtual ~SerfRequestProcessorImpl();
38*8590a0fdSAndre Fischer 
39*8590a0fdSAndre Fischer     /*pure*/ virtual
40*8590a0fdSAndre Fischer     serf_bucket_t * createSerfRequestBucket( serf_request_t * inSerfRequest ) = 0;
41*8590a0fdSAndre Fischer 
42*8590a0fdSAndre Fischer     /*pure*/ virtual
43*8590a0fdSAndre Fischer     bool processSerfResponseBucket( serf_request_t * inSerfRequest,
44*8590a0fdSAndre Fischer                                     serf_bucket_t * inSerfResponseBucket,
45*8590a0fdSAndre Fischer                                     apr_pool_t * inAprPool,
46*8590a0fdSAndre Fischer                                     apr_status_t & outStatus ) = 0;
47*8590a0fdSAndre Fischer 
48*8590a0fdSAndre Fischer protected:
49*8590a0fdSAndre Fischer     const char* getPathStr() const;
50*8590a0fdSAndre Fischer 
51*8590a0fdSAndre Fischer private:
52*8590a0fdSAndre Fischer     const char* mPathStr;
53*8590a0fdSAndre Fischer 
54*8590a0fdSAndre Fischer };
55*8590a0fdSAndre Fischer 
56*8590a0fdSAndre Fischer } // namespace http_dav_ucp
57*8590a0fdSAndre Fischer 
58*8590a0fdSAndre Fischer #endif // INCLUDED_SERFREQUESTPROCESSORIMPL_HXX
59