Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axis2_http_status_line.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016  
00017 #ifndef AXIS2_HTTP_STATUS_LINE_H
00018 #define AXIS2_HTTP_STATUS_LINE_H
00019 
00025 #include <axis2_const.h>
00026 #include <axis2_defines.h>
00027 #include <axis2_env.h>
00028 
00029 
00030 #ifdef __cplusplus
00031 extern "C" 
00032 {
00033 #endif
00034 
00039 typedef struct axis2_http_status_line_ops axis2_http_status_line_ops_t;
00040 typedef struct axis2_http_status_line axis2_http_status_line_t;
00041     
00042     
00047 AXIS2_DECLARE_DATA struct axis2_http_status_line_ops
00048 {
00049     int (AXIS2_CALL *
00050    get_status_code)(axis2_http_status_line_t *status_line, 
00051                      const axis2_env_t *env);
00052     
00053     axis2_char_t* (AXIS2_CALL *
00054    get_http_version)(axis2_http_status_line_t *status_line, 
00055                  const axis2_env_t *env);
00056     
00057     axis2_char_t* (AXIS2_CALL *
00058    get_reason_phrase)(axis2_http_status_line_t *status_line, 
00059                   const axis2_env_t *env);
00060     
00061     axis2_bool_t (AXIS2_CALL *
00062    starts_with_http)(axis2_http_status_line_t *status_line, 
00063                     const axis2_env_t *env);
00064     
00065     axis2_char_t* (AXIS2_CALL *
00066    to_string)(axis2_http_status_line_t *status_line, 
00067              const axis2_env_t *env);
00068     
00069     axis2_status_t (AXIS2_CALL *
00070    free) (axis2_http_status_line_t *status_line, 
00071            const axis2_env_t *env);
00072 };
00073 
00078 AXIS2_DECLARE_DATA struct axis2_http_status_line
00079 {
00080     axis2_http_status_line_ops_t *ops;
00081 };
00082 
00083 
00084 AXIS2_EXTERN axis2_http_status_line_t * AXIS2_CALL 
00085 axis2_http_status_line_create(const axis2_env_t *env, 
00086                               const axis2_char_t *str);
00087 
00088 /************************* Start of function macros    ***************************/
00089 
00090 #define AXIS2_HTTP_STATUS_LINE_GET_STATUS_CODE(status_line, env)\
00091                     ((status_line)->ops->get_status_code (status_line, env))
00092 #define AXIS2_HTTP_STATUS_LINE_GET_HTTP_VERSION(status_line, env)\
00093                     ((status_line)->ops->get_http_version (status_line, env))
00094 #define AXIS2_HTTP_STATUS_LINE_GET_REASON_PHRASE(status_line, env)\
00095                     ((status_line)->ops->get_reason_phrase (status_line, env))
00096 #define AXIS2_HTTP_STATUS_LINE_STARTS_WITH_HTTP(status_line, env)\
00097                     ((status_line)->ops->starts_with_http (status_line, env))
00098 #define AXIS2_HTTP_STATUS_LINE_TO_STRING(status_line, env)\
00099                     ((status_line)->ops->to_string (status_line, env))
00100 #define AXIS2_HTTP_STATUS_LINE_FREE(status_line, env)\
00101                     ((status_line)->ops->free(status_line, env))
00102 
00103 /************************* End of function macros *****************************/
00104 
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109 #endif /* AXIS2_HTTP_STATUS_LINE_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2