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