axis2_wsdl_op.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXIS2_WSDL_OP_H
00019 #define AXIS2_WSDL_OP_H
00020 
00026 #include <axis2_const.h>
00027 #include <axis2_error.h>
00028 #include <axis2_defines.h>
00029 #include <axis2_env.h>
00030 #include <axis2_allocator.h>
00031 #include <axis2_string.h>
00032 #include <axis2_hash.h>
00033 
00034 #include <axis2_qname.h>
00035 #include <axis2_wsdl_component.h>
00036 #include <axis2_linked_list.h>
00037 #include <axis2_wsdl_msg_ref.h>
00038 #include <axis2_wsdl_fault_ref.h>
00039 #include <axis2_wsdl_svc.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 struct axis2_wsdl_extensible_component;   
00046 struct axis2_wsdl_fault_ref;    
00047 typedef struct axis2_wsdl_op_ops axis2_wsdl_op_ops_t;
00048 typedef struct axis2_wsdl_op axis2_wsdl_op_t;   
00049    
00050 
00056 struct axis2_wsdl_op_ops
00057 {
00062     axis2_status_t (AXIS2_CALL *
00063     free) (axis2_wsdl_op_t *wsdl_op,
00064             const axis2_env_t *env);
00065         
00071     axis2_status_t (AXIS2_CALL *
00072     free_void_arg) (void *wsdl_op,
00073                     const axis2_env_t *env);
00074             
00080     axis2_status_t (AXIS2_CALL *
00081     set_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op, 
00082                                 const axis2_env_t *env, 
00083                                 const axis2_char_t *msg_exchange_pattern);
00084   
00089     axis2_char_t *(AXIS2_CALL *
00090     get_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op, 
00091                                 const axis2_env_t *env);
00092 
00097     axis2_status_t (AXIS2_CALL *
00098     set_qname) (axis2_wsdl_op_t *wsdl_op, 
00099                 const axis2_env_t *env,
00100                 const axis2_qname_t *name);
00101                                         
00106     const axis2_qname_t *(AXIS2_CALL *
00107     get_qname) (void *wsdl_op,
00108                 const axis2_env_t *env);
00109     
00110 
00116     axis2_status_t (AXIS2_CALL *
00117     set_style) (axis2_wsdl_op_t *wsdl_op,
00118                 const axis2_env_t *env,
00119                 const axis2_char_t *style);
00120     
00125     axis2_char_t *(AXIS2_CALL *
00126     get_style) (axis2_wsdl_op_t *wsdl_op,
00127                 const axis2_env_t *env);
00128     
00129     
00135     axis2_linked_list_t * (AXIS2_CALL *
00136     get_in_faults) (axis2_wsdl_op_t *wsdl_op,
00137                    const axis2_env_t *env);
00138     
00144     axis2_status_t (AXIS2_CALL *
00145     set_in_faults) (axis2_wsdl_op_t *wsdl_op,
00146                     const axis2_env_t *env,
00147                     axis2_linked_list_t *in_faults);
00148     
00154     struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00155     get_input_msg) (axis2_wsdl_op_t *wsdl_op,
00156                                         const axis2_env_t *env);
00157     
00163     axis2_status_t (AXIS2_CALL *
00164     set_input_msg) (axis2_wsdl_op_t *wsdl_op,
00165                     const axis2_env_t *env,
00166                     struct axis2_wsdl_msg_ref *input_msg);
00167     
00173     axis2_linked_list_t *(AXIS2_CALL *
00174     get_out_faults)(axis2_wsdl_op_t *wsdl_op,
00175                                         const axis2_env_t *env);
00176     
00182     axis2_status_t (AXIS2_CALL *
00183     set_out_faults) (axis2_wsdl_op_t *wsdl_op,
00184                                         const axis2_env_t *env,
00185                                         axis2_linked_list_t *out_faults);
00186     
00192     struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00193     get_output_msg) (axis2_wsdl_op_t *wsdl_op,
00194                                         const axis2_env_t *env);
00195     
00201     axis2_status_t (AXIS2_CALL *
00202     set_output_msg) (axis2_wsdl_op_t *wsdl_op,
00203                         const axis2_env_t *env,
00204                         struct axis2_wsdl_msg_ref *output_msg);
00205     
00211     axis2_bool_t (AXIS2_CALL *
00212     is_safe) (axis2_wsdl_op_t *wsdl_op,
00213                 const axis2_env_t *env);
00214     
00220     axis2_status_t (AXIS2_CALL *
00221     set_safety) (axis2_wsdl_op_t *wsdl_op,
00222                     const axis2_env_t *env,
00223                     axis2_bool_t safe);
00224     
00230     axis2_char_t *(AXIS2_CALL *
00231     get_target_namespace) (axis2_wsdl_op_t *wsdl_op,
00232                             const axis2_env_t *env);
00233     
00239     axis2_status_t (AXIS2_CALL *
00240     add_in_fault) (axis2_wsdl_op_t *wsdl_op,
00241                     const axis2_env_t *env,
00242                     struct axis2_wsdl_fault_ref *in_fault);
00243     
00249     axis2_status_t (AXIS2_CALL *
00250     add_out_fault) (axis2_wsdl_op_t *wsdl_op,
00251                     const axis2_env_t *env,
00252                     struct axis2_wsdl_fault_ref *out_fault);
00253 };
00254 
00255 struct axis2_wsdl_op
00256 {
00257    axis2_wsdl_op_ops_t *ops;
00258     struct axis2_wsdl_extensible_component *extensible_component;
00259 };
00260 
00261 AXIS2_EXTERN axis2_wsdl_op_t * AXIS2_CALL 
00262 axis2_wsdl_op_create (const axis2_env_t *env);
00263 
00264 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00265 axis2_wsdl_op_free_void_arg(void *wsdl_op,
00266                         const axis2_env_t *env);
00267                         
00268 /**************************** Start of function macros ************************/
00269 
00270 #define AXIS2_WSDL_OP_FREE(wsdl_op, env) \
00271       ((wsdl_op)->ops->free (wsdl_op, env))
00272 
00273 #define AXIS2_WSDL_OP_FREE_VOID_ARG(wsdl_op, env) \
00274       (((axis2_wsdl_op_t *) wsdl_op)->ops->free_void_arg(wsdl_op, env))
00275    
00276 #define AXIS2_WSDL_OP_GET_MSG_EXCHANGE_PATTERN(wsdl_op, env) \
00277       ((wsdl_op)->ops->get_msg_exchange_pattern(wsdl_op, env))
00278       
00279 #define AXIS2_WSDL_OP_SET_MSG_EXCHANGE_PATTERN(wsdl_op, env, pattern) \
00280       ((wsdl_op)->ops->set_msg_exchange_pattern(wsdl_op, env, pattern))
00281       
00282 #define AXIS2_WSDL_OP_GET_QNAME(wsdl_op, env) \
00283       (((axis2_wsdl_op_t *) wsdl_op)->ops->get_qname(wsdl_op, env))
00284       
00285 #define AXIS2_WSDL_OP_SET_QNAME(wsdl_op, env, name) \
00286       ((wsdl_op)->ops->set_qname(wsdl_op, env, name))
00287       
00288 #define AXIS2_WSDL_OP_SET_STYLE(wsdl_op, env, style) \
00289       ((wsdl_op)->ops->set_style(wsdl_op, env, style))
00290       
00291 #define AXIS2_WSDL_OP_GET_STYLE(wsdl_op, env) \
00292       ((wsdl_op)->ops->get_style(wsdl_op, env))
00293       
00294 #define AXIS2_WSDL_OP_GET_IN_FAULTS(wsdl_op, env) \
00295       ((wsdl_op)->ops->get_in_faults(wsdl_op, env))
00296       
00297 #define AXIS2_WSDL_OP_SET_IN_FAULTS(wsdl_op, env, in_faults) \
00298       ((wsdl_op)->ops->set_in_faults(wsdl_op, env, in_faults))
00299 
00300 #define AXIS2_WSDL_OP_GET_INPUT_MSG(wsdl_op, env) \
00301       ((wsdl_op)->ops->get_input_msg(wsdl_op, env))
00302       
00303 #define AXIS2_WSDL_OP_SET_INPUT_MSG(wsdl_op, env, input_msg) \
00304       ((wsdl_op)->ops->set_input_msg(wsdl_op, env, input_msg))      
00305 
00306 #define AXIS2_WSDL_OP_GET_OUT_FAULTS(wsdl_op, env) \
00307       ((wsdl_op)->ops->get_out_faults(wsdl_op, env))
00308       
00309 #define AXIS2_WSDL_OP_SET_OUT_FAULTS(wsdl_op, env, out_faults) \
00310       ((wsdl_op)->ops->set_out_faults(wsdl_op, env, out_faults))
00311 
00312 #define AXIS2_WSDL_OP_GET_OUTPUT_MSG(wsdl_op, env) \
00313       ((wsdl_op)->ops->get_output_msg(wsdl_op, env))
00314       
00315 #define AXIS2_WSDL_OP_SET_OUTPUT_MSG(wsdl_op, env, output_msg) \
00316       ((wsdl_op)->ops->set_output_msg(wsdl_op, env, output_msg))
00317 
00318 #define AXIS2_WSDL_OP_IS_SAFE(wsdl_op, env) \
00319       ((wsdl_op)->ops->is_safe(wsdl_op, env))
00320       
00321 #define AXIS2_WSDL_OP_SET_SAFETY(wsdl_op, env, safe) \
00322       ((wsdl_op)->ops->set_safety(wsdl_op, env, safe))
00323         
00324 #define AXIS2_WSDL_OP_GET_TARGET_NAMESPACE(wsdl_op, env) \
00325       ((wsdl_op)->ops->get_target_namespace(wsdl_op, env))        
00326 
00327 #define AXIS2_WSDL_OP_ADD_IN_FAULT(wsdl_op, env, in_fault) \
00328       ((wsdl_op)->ops->add_in_fault(wsdl_op, env, in_fault))
00329       
00330 #define AXIS2_WSDL_OP_ADD_OUT_FAULT(wsdl_op, env, out_fault) \
00331       ((wsdl_op)->ops->add_out_fault(wsdl_op, env, out_fault))
00332 
00333 /**************************** End of function macros **************************/
00334 
00336 #ifdef __cplusplus
00337 }
00338 #endif
00339 #endif /* AXIS2_WSDL_OP_H  */

Generated on Wed Dec 20 20:34:50 2006 for Axis2/C by  doxygen 1.5.1