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

axis2_handler_desc.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_HANDLER_DESC_H
00018 #define AXIS2_HANDLER_DESC_H
00019 
00025 #include <axis2_utils_defines.h>
00026 #include <axis2_qname.h>
00027 #include <axis2_param.h>
00028 #include <axis2_param_container.h>
00029 #include <axis2_phase_rule.h>
00030 #include <axis2_handler.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     struct axis2_handler_desc;
00038     struct axis2_handler_desc_ops;
00039     
00049  AXIS2_DECLARE_DATA   typedef struct axis2_handler_desc_ops
00050     { 
00051         axis2_qname_t* (AXIS2_CALL *
00052         get_qname) (struct axis2_handler_desc *handler_desc, 
00053                         const axis2_env_t *env);
00054         
00055         axis2_status_t (AXIS2_CALL *
00056         set_qname) (struct axis2_handler_desc *handler_desc, 
00057                         const axis2_env_t *env, 
00058                         axis2_qname_t *qname);
00059         
00060         axis2_phase_rule_t* (AXIS2_CALL *
00061         get_rules) (struct axis2_handler_desc *handler_desc, 
00062                         const axis2_env_t *env);
00063         
00064         axis2_status_t (AXIS2_CALL *
00065         set_rules) (struct axis2_handler_desc *handler_desc, 
00066                         const axis2_env_t *env, 
00067                         axis2_phase_rule_t *phase_rule);
00068         
00069         axis2_param_t* (AXIS2_CALL *
00070         get_param) (struct axis2_handler_desc *handler_desc, 
00071                         const axis2_env_t *env, 
00072                         axis2_char_t *name);
00073         
00074         axis2_status_t (AXIS2_CALL *
00075         add_param) (struct axis2_handler_desc *handler_desc, 
00076                         const axis2_env_t *env, 
00077                         axis2_param_t * param);
00078         
00079         axis2_array_list_t* (AXIS2_CALL *
00080         get_params) (struct axis2_handler_desc *handler_desc, 
00081                      const axis2_env_t *env);
00082 
00086         axis2_bool_t (AXIS2_CALL *
00087         is_param_locked)(struct axis2_handler_desc *handler_desc, 
00088                          const axis2_env_t *env, axis2_char_t * param_name);
00089         
00090         axis2_handler_t* (AXIS2_CALL *
00091         get_handler) (struct axis2_handler_desc *handler_desc, 
00092                       const axis2_env_t *env);
00093         
00094         axis2_status_t (AXIS2_CALL *
00095         set_handler) (struct axis2_handler_desc *handler_desc, 
00096                         const axis2_env_t *env, 
00097                         axis2_handler_t * handler);
00098         
00099         axis2_char_t* (AXIS2_CALL *
00100         get_class_name) (struct axis2_handler_desc *handler_desc, 
00101                             const axis2_env_t *env);
00102         
00103         axis2_status_t (AXIS2_CALL *
00104         set_class_name) (struct axis2_handler_desc *handler_desc, 
00105                             const axis2_env_t *env, 
00106                             axis2_char_t *class_name);
00107         
00108         axis2_param_container_t* (AXIS2_CALL *
00109         get_parent) (struct axis2_handler_desc *handler_desc, 
00110                                                const axis2_env_t *env);
00111         
00112         axis2_status_t (AXIS2_CALL *
00113         set_parent) (struct axis2_handler_desc *handler_desc, 
00114                         const axis2_env_t *env,
00115                         axis2_param_container_t * parent);
00116         
00117         axis2_status_t (AXIS2_CALL *
00118         free) (struct axis2_handler_desc *handler_desc, 
00119                 const axis2_env_t *env);
00120         
00121     } axis2_handler_desc_ops_t;
00122    
00126     typedef struct axis2_handler_desc
00127     {
00129         axis2_handler_desc_ops_t *ops;
00130         
00132         axis2_param_container_t *param_container;
00133         
00134     } axis2_handler_desc_t;
00135 
00136 
00141 AXIS2_EXTERN axis2_handler_desc_t* AXIS2_CALL 
00142 axis2_handler_desc_create_with_qname(const axis2_env_t *env, axis2_qname_t *qname);
00143 
00144 #define AXIS2_HANDLER_DESC_GET_HANDLER(handler_desc, env) \
00145         ((handler_desc)->ops->get_handler(handler_desc, env))
00146     
00147 #define AXIS2_HANDLER_DESC_SET_HANDLER(handler_desc, env, handler) \
00148         ((handler_desc)->ops->set_handler(handler_desc, env, handler))
00149     
00150 #define AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env) \
00151         ((handler_desc)->ops->get_rules(handler_desc, env))
00152     
00153 #define AXIS2_HANDLER_DESC_SET_RULES(handler_desc, env, rules) \
00154         ((handler_desc)->ops->set_rules(handler_desc, env, rules))
00155     
00156 #define AXIS2_HANDLER_DESC_GET_QNAME(handler_desc, env) \
00157         ((handler_desc)->ops->get_qname(handler_desc, env))
00158     
00159 #define AXIS2_HANDLER_DESC_SET_QNAME(handler_desc, env, name) \
00160         ((handler_desc)->ops->set_qname(handler_desc, env, name))
00161     
00162 #define AXIS2_HANDLER_DESC_GET_PARAM(handler_desc, env, name) \
00163         ((handler_desc)->ops->get_param(handler_desc, env, name))
00164         
00165 #define AXIS2_HANDLER_DESC_ADD_PARAM(handler_desc, env, param) \
00166         ((handler_desc)->ops->add_param(handler_desc, env, param))
00167         
00168 #define AXIS2_HANDLER_DESC_IS_PHASE_FIRST(handler_desc, env) \
00169         ((handler_desc)->ops->is_phase_first((handler_desc, env))
00170         
00171 #define AXIS2_HANDLER_DESC_GET_PHASE_FIRST(handler_desc, env, phase_first) \
00172         ((handler_desc)->ops->set_phase_first(handler_desc, env, phase_first))
00173         
00174 #define AXIS2_HANDLER_DESC_IS_PHASE_LAST(handler_desc, env) \
00175         ((handler_desc)->ops->is_phase_last(handler_desc, env))
00176         
00177 #define AXIS2_HANDLER_DESC_GET_PHASE_LAST(handler_desc, env, phase_last) \
00178         ((handler_desc)->ops->set_phase_last(handler_desc, env, phase_last))
00179 
00180 #define AXIS2_HANDLER_DESC_GET_CLASS_NAME(handler_desc, env) \
00181         ((handler_desc)->ops->get_class_name(handler_desc, env))
00182         
00183 #define AXIS2_HANDLER_DESC_SET_CLASS_NAME(handler_desc, env, class_name) \
00184         ((handler_desc)->ops->set_class_name(handler_desc, env, class_name))
00185 
00186 #define AXIS2_HANDLER_DESC_GET_PARENT(handler_desc, env) \
00187         ((handler_desc)->ops->get_parent(handler_desc, env))
00188         
00189 #define AXIS2_HANDLER_DESC_SET_PARENT(handler_desc, env, parent) \
00190         ((handler_desc)->ops->set_parent(handler_desc, env, parent))
00191         
00192 #define AXIS2_HANDLER_DESC_FREE(handler_desc, env) \
00193         ((handler_desc)->ops->free(handler_desc, env))
00194     
00197 #ifdef __cplusplus
00198 }
00199 #endif
00200 
00201 #endif    /* AXIS2_HANDLER_DESC_H */

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