axis2_wsdl_op.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_WSDL_OP_H
00018 #define AXIS2_WSDL_OP_H
00019 
00025 #include <axis2_const.h>
00026 #include <axis2_error.h>
00027 #include <axis2_defines.h>
00028 #include <axis2_env.h>
00029 #include <axis2_allocator.h>
00030 #include <axis2_string.h>
00031 #include <axis2_hash.h>
00032 
00033 #include <axis2_qname.h>
00034 #include <axis2_wsdl_component.h>
00035 #include <axis2_linked_list.h>
00036 #include <axis2_wsdl_msg_ref.h>
00037 #include <axis2_wsdl_fault_ref.h>
00038 #include <axis2_wsdl_svc.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 struct axis2_wsdl_extensible_component;   
00045 struct axis2_wsdl_fault_ref;    
00046 typedef struct axis2_wsdl_op_ops axis2_wsdl_op_ops_t;
00047 typedef struct axis2_wsdl_op axis2_wsdl_op_t;   
00048    
00049 
00055 struct axis2_wsdl_op_ops
00056 {
00061     axis2_status_t (AXIS2_CALL *
00062     free) (axis2_wsdl_op_t *wsdl_op,
00063             const axis2_env_t *env);
00064         
00070     axis2_status_t (AXIS2_CALL *
00071     free_void_arg) (void *wsdl_op,
00072                     const axis2_env_t *env);
00073             
00079     axis2_status_t (AXIS2_CALL *
00080     set_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op, 
00081                                 const axis2_env_t *env, 
00082                                 const axis2_char_t *msg_exchange_pattern);
00083   
00088     axis2_char_t *(AXIS2_CALL *
00089     get_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op, 
00090                                 const axis2_env_t *env);
00091 
00096     axis2_status_t (AXIS2_CALL *
00097     set_qname) (axis2_wsdl_op_t *wsdl_op, 
00098                 const axis2_env_t *env,
00099                 const axis2_qname_t *name);
00100                                         
00105     const axis2_qname_t *(AXIS2_CALL *
00106     get_qname) (void *wsdl_op,
00107                 const axis2_env_t *env);
00108     
00109 
00115     axis2_status_t (AXIS2_CALL *
00116     set_style) (axis2_wsdl_op_t *wsdl_op,
00117                 const axis2_env_t *env,
00118                 const axis2_char_t *style);
00119     
00124     axis2_char_t *(AXIS2_CALL *
00125     get_style) (axis2_wsdl_op_t *wsdl_op,
00126                 const axis2_env_t *env);
00127     
00128     
00134     axis2_linked_list_t * (AXIS2_CALL *
00135     get_in_faults) (axis2_wsdl_op_t *wsdl_op,
00136                    const axis2_env_t *env);
00137     
00143     axis2_status_t (AXIS2_CALL *
00144     set_in_faults) (axis2_wsdl_op_t *wsdl_op,
00145                     const axis2_env_t *env,
00146                     axis2_linked_list_t *in_faults);
00147     
00153     struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00154     get_input_msg) (axis2_wsdl_op_t *wsdl_op,
00155                                         const axis2_env_t *env);
00156     
00162     axis2_status_t (AXIS2_CALL *
00163     set_input_msg) (axis2_wsdl_op_t *wsdl_op,
00164                     const axis2_env_t *env,
00165                     struct axis2_wsdl_msg_ref *input_msg);
00166     
00172     axis2_linked_list_t *(AXIS2_CALL *
00173     get_out_faults)(axis2_wsdl_op_t *wsdl_op,
00174                                         const axis2_env_t *env);
00175     
00181     axis2_status_t (AXIS2_CALL *
00182     set_out_faults) (axis2_wsdl_op_t *wsdl_op,
00183                                         const axis2_env_t *env,
00184                                         axis2_linked_list_t *out_faults);
00185     
00191     struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00192     get_output_msg) (axis2_wsdl_op_t *wsdl_op,
00193                                         const axis2_env_t *env);
00194     
00200     axis2_status_t (AXIS2_CALL *
00201     set_output_msg) (axis2_wsdl_op_t *wsdl_op,
00202                         const axis2_env_t *env,
00203                         struct axis2_wsdl_msg_ref *output_msg);
00204     
00210     axis2_bool_t (AXIS2_CALL *
00211     is_safe) (axis2_wsdl_op_t *wsdl_op,
00212                 const axis2_env_t *env);
00213     
00219     axis2_status_t (AXIS2_CALL *
00220     set_safety) (axis2_wsdl_op_t *wsdl_op,
00221                     const axis2_env_t *env,
00222                     axis2_bool_t safe);
00223     
00229     axis2_char_t *(AXIS2_CALL *
00230     get_target_namespace) (axis2_wsdl_op_t *wsdl_op,
00231                             const axis2_env_t *env);
00232     
00238     axis2_status_t (AXIS2_CALL *
00239     add_in_fault) (axis2_wsdl_op_t *wsdl_op,
00240                     const axis2_env_t *env,
00241                     struct axis2_wsdl_fault_ref *in_fault);
00242     
00248     axis2_status_t (AXIS2_CALL *
00249     add_out_fault) (axis2_wsdl_op_t *wsdl_op,
00250                     const axis2_env_t *env,
00251                     struct axis2_wsdl_fault_ref *out_fault);
00252 };
00253 
00254 struct axis2_wsdl_op
00255 {
00256    axis2_wsdl_op_ops_t *ops;
00257     struct axis2_wsdl_extensible_component *extensible_component;
00258 };
00259 
00260 AXIS2_EXTERN axis2_wsdl_op_t * AXIS2_CALL 
00261 axis2_wsdl_op_create (const axis2_env_t *env);
00262 
00263 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00264 axis2_wsdl_op_free_void_arg(void *wsdl_op,
00265                         const axis2_env_t *env);
00266                         
00267 /**************************** Start of function macros ************************/
00268 
00269 #define AXIS2_WSDL_OP_FREE(wsdl_op, env) \
00270       ((wsdl_op)->ops->free (wsdl_op, env))
00271 
00272 #define AXIS2_WSDL_OP_FREE_VOID_ARG(wsdl_op, env) \
00273       (((axis2_wsdl_op_t *) wsdl_op)->ops->free_void_arg(wsdl_op, env))
00274    
00275 #define AXIS2_WSDL_OP_GET_MSG_EXCHANGE_PATTERN(wsdl_op, env) \
00276       ((wsdl_op)->ops->get_msg_exchange_pattern(wsdl_op, env))
00277       
00278 #define AXIS2_WSDL_OP_SET_MSG_EXCHANGE_PATTERN(wsdl_op, env, pattern) \
00279       ((wsdl_op)->ops->set_msg_exchange_pattern(wsdl_op, env, pattern))
00280       
00281 #define AXIS2_WSDL_OP_GET_QNAME(wsdl_op, env) \
00282       (((axis2_wsdl_op_t *) wsdl_op)->ops->get_qname(wsdl_op, env))
00283       
00284 #define AXIS2_WSDL_OP_SET_QNAME(wsdl_op, env, name) \
00285       ((wsdl_op)->ops->set_qname(wsdl_op, env, name))
00286       
00287 #define AXIS2_WSDL_OP_SET_STYLE(wsdl_op, env, style) \
00288       ((wsdl_op)->ops->set_style(wsdl_op, env, style))
00289       
00290 #define AXIS2_WSDL_OP_GET_STYLE(wsdl_op, env) \
00291       ((wsdl_op)->ops->get_style(wsdl_op, env))
00292       
00293 #define AXIS2_WSDL_OP_GET_IN_FAULTS(wsdl_op, env) \
00294       ((wsdl_op)->ops->get_in_faults(wsdl_op, env))
00295       
00296 #define AXIS2_WSDL_OP_SET_IN_FAULTS(wsdl_op, env, in_faults) \
00297       ((wsdl_op)->ops->set_in_faults(wsdl_op, env, in_faults))
00298 
00299 #define AXIS2_WSDL_OP_GET_INPUT_MSG(wsdl_op, env) \
00300       ((wsdl_op)->ops->get_input_msg(wsdl_op, env))
00301       
00302 #define AXIS2_WSDL_OP_SET_INPUT_MSG(wsdl_op, env, input_msg) \
00303       ((wsdl_op)->ops->set_input_msg(wsdl_op, env, input_msg))      
00304 
00305 #define AXIS2_WSDL_OP_GET_OUT_FAULTS(wsdl_op, env) \
00306       ((wsdl_op)->ops->get_out_faults(wsdl_op, env))
00307       
00308 #define AXIS2_WSDL_OP_SET_OUT_FAULTS(wsdl_op, env, out_faults) \
00309       ((wsdl_op)->ops->set_out_faults(wsdl_op, env, out_faults))
00310 
00311 #define AXIS2_WSDL_OP_GET_OUTPUT_MSG(wsdl_op, env) \
00312       ((wsdl_op)->ops->get_output_msg(wsdl_op, env))
00313       
00314 #define AXIS2_WSDL_OP_SET_OUTPUT_MSG(wsdl_op, env, output_msg) \
00315       ((wsdl_op)->ops->set_output_msg(wsdl_op, env, output_msg))
00316 
00317 #define AXIS2_WSDL_OP_IS_SAFE(wsdl_op, env) \
00318       ((wsdl_op)->ops->is_safe(wsdl_op, env))
00319       
00320 #define AXIS2_WSDL_OP_SET_SAFETY(wsdl_op, env, safe) \
00321       ((wsdl_op)->ops->set_safety(wsdl_op, env, safe))
00322         
00323 #define AXIS2_WSDL_OP_GET_TARGET_NAMESPACE(wsdl_op, env) \
00324       ((wsdl_op)->ops->get_target_namespace(wsdl_op, env))        
00325 
00326 #define AXIS2_WSDL_OP_ADD_IN_FAULT(wsdl_op, env, in_fault) \
00327       ((wsdl_op)->ops->add_in_fault(wsdl_op, env, in_fault))
00328       
00329 #define AXIS2_WSDL_OP_ADD_OUT_FAULT(wsdl_op, env, out_fault) \
00330       ((wsdl_op)->ops->add_out_fault(wsdl_op, env, out_fault))
00331 
00332 /**************************** End of function macros **************************/
00333 
00335 #ifdef __cplusplus
00336 }
00337 #endif
00338 #endif /* AXIS2_WSDL_OP_H  */

Generated on Tue Oct 3 18:21:10 2006 for Axis2/C by  doxygen 1.4.7