1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 #ifndef INCLUDED_SERFREQUESTPROCESSORIMPLFAC_HXX
23 #define INCLUDED_SERFREQUESTPROCESSORIMPLFAC_HXX
24 
25 #include <vector>
26 #include <rtl/ustring.hxx>
27 #include "DAVTypes.hxx"
28 #include "DAVResource.hxx"
29 
30 #include "SerfRequestProcessorImpl.hxx"
31 #include "SerfInputStream.hxx"
32 #include <com/sun/star/io/XOutputStream.hpp>
33 
34 namespace http_dav_ucp
35 {
36     SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath,
37                                                          const DAVRequestHeaders& inRequestHeaders,
38                                                          const Depth inDepth,
39                                                          const std::vector< ::rtl::OUString > & inPropNames,
40                                                          std::vector< DAVResource > & ioResources );
41 
42     SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath,
43                                                          const DAVRequestHeaders& inRequestHeaders,
44                                                          const Depth inDepth,
45                                                          std::vector< DAVResourceInfo > & ioResInfo );
46 
47     SerfRequestProcessorImpl* createPropPatchReqProcImpl( const char* inPath,
48                                                           const DAVRequestHeaders& inRequestHeaders,
49                                                           const std::vector< ProppatchValue > & inProperties );
50 
51     SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath,
52                                                     const DAVRequestHeaders& inRequestHeaders,
53                                                     const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm );
54 
55     SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath,
56                                                     const DAVRequestHeaders& inRequestHeaders,
57                                                     const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm,
58                                                     const std::vector< ::rtl::OUString > & inHeaderNames,
59                                                     DAVResource& ioResource );
60 
61     SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath,
62                                                     const DAVRequestHeaders& inRequestHeaders,
63                                                     const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm );
64 
65     SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath,
66                                                     const DAVRequestHeaders& inRequestHeaders,
67                                                     const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm,
68                                                     const std::vector< ::rtl::OUString > & inHeaderNames,
69                                                     DAVResource& ioResource );
70 
71     SerfRequestProcessorImpl* createHeadReqProcImpl( const char* inPath,
72                                                      const DAVRequestHeaders& inRequestHeaders,
73                                                      const std::vector< ::rtl::OUString > & inHeaderNames,
74                                                      DAVResource& ioResource );
75 
76     SerfRequestProcessorImpl* createPutReqProcImpl( const char* inPath,
77                                                     const DAVRequestHeaders& inRequestHeaders,
78                                                     const char* inData,
79                                                     apr_size_t inDataLen );
80 
81     SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath,
82                                                      const DAVRequestHeaders& inRequestHeaders,
83                                                      const char* inData,
84                                                      apr_size_t inDataLen,
85                                                      const char* inContentType,
86                                                      const char* inReferer,
87                                                      const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm );
88 
89     SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath,
90                                                      const DAVRequestHeaders& inRequestHeaders,
91                                                      const char* inData,
92                                                      apr_size_t inDataLen,
93                                                      const char* inContentType,
94                                                      const char* inReferer,
95                                                      const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm );
96 
97     SerfRequestProcessorImpl* createDeleteReqProcImpl( const char* inPath,
98                                                        const DAVRequestHeaders& inRequestHeaders );
99 
100     SerfRequestProcessorImpl* createMkColReqProcImpl( const char* inPath,
101                                                       const DAVRequestHeaders& inRequestHeaders );
102 
103     SerfRequestProcessorImpl* createCopyReqProcImpl( const char* inSourcePath,
104                                                      const DAVRequestHeaders& inRequestHeaders,
105                                                      const char* inDestinationPath,
106                                                      const bool inOverwrite );
107 
108     SerfRequestProcessorImpl* createMoveReqProcImpl( const char* inSourcePath,
109                                                      const DAVRequestHeaders& inRequestHeaders,
110                                                      const char* inDestinationPath,
111                                                      const bool inOverwrite );
112 
113 } // namespace http_dav_ucp
114 
115 #endif // INCLUDED_SERFREQUESTPROCESSORIMPLFAC_HXX
116