axis2_wsdl_binding_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_BINDING_OP_H
00019 #define AXIS2_WSDL_BINDING_OP_H
00020 
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 #include <axis2_linked_list.h>
00033 #include <axis2_qname.h>
00034 #include <axis2_wsdl_extensible_component.h>
00035 #include <axis2_wsdl_binding_msg_ref.h>
00036 #include <axis2_wsdl_op.h>
00037 #include <axis2_wsdl_binding_fault.h>
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043 
00044 struct axis2_wsdl_binding_msg_ref;
00045 struct axis2_wsdl_binding_fault;
00046 struct axis2_wsdl_extensible_component;   
00047 typedef struct axis2_wsdl_binding_op_ops axis2_wsdl_binding_op_ops_t;
00048 typedef struct axis2_wsdl_binding_op axis2_wsdl_binding_op_t;
00049    
00059 struct axis2_wsdl_binding_op_ops
00060 {
00064     axis2_status_t (AXIS2_CALL *
00065     free) (axis2_wsdl_binding_op_t *wsdl_binding_op, 
00066                                         const axis2_env_t *env);
00067     
00073     struct axis2_wsdl_binding_msg_ref * (AXIS2_CALL *
00074     get_input) (axis2_wsdl_binding_op_t *binding_op,
00075                                             const axis2_env_t *env);
00076     
00077     
00083     axis2_status_t (AXIS2_CALL *
00084     set_input) (axis2_wsdl_binding_op_t *binding_op,
00085                 const axis2_env_t *env,
00086                 struct axis2_wsdl_binding_msg_ref *input);
00087     
00093     void *(AXIS2_CALL *
00094     get_op) (axis2_wsdl_binding_op_t *binding_op,
00095                                         const axis2_env_t *env);
00096     
00102     axis2_status_t (AXIS2_CALL *
00103     set_op)(axis2_wsdl_binding_op_t *binding_op,
00104                 const axis2_env_t *env,
00105                 void *op);
00106     
00112     struct axis2_wsdl_binding_msg_ref * (AXIS2_CALL *
00113     get_output)(axis2_wsdl_binding_op_t *binding_op,
00114                                             const axis2_env_t *env);
00115     
00121     axis2_status_t (AXIS2_CALL *
00122     set_output) (axis2_wsdl_binding_op_t *binding_op,
00123                                             const axis2_env_t *env,
00124                                             struct axis2_wsdl_binding_msg_ref *output);
00125     
00131     axis2_qname_t *(AXIS2_CALL *
00132     get_qname) (axis2_wsdl_binding_op_t *binding_op,
00133                                         const axis2_env_t *env);
00134     
00140     axis2_status_t (AXIS2_CALL *
00141     set_qname) (axis2_wsdl_binding_op_t *binding_op,
00142                                                 const axis2_env_t *env,
00143                                                 axis2_qname_t *qname);
00144     
00150     axis2_status_t (AXIS2_CALL *
00151     add_in_fault) (axis2_wsdl_binding_op_t *binding_op,
00152                                                 const axis2_env_t *env,
00153                                                 struct axis2_wsdl_binding_fault *in_fault);
00154     
00160     axis2_status_t (AXIS2_CALL *
00161     add_out_fault) (axis2_wsdl_binding_op_t *binding_op,
00162                                                 const axis2_env_t *env,
00163                                                 struct axis2_wsdl_binding_fault *out_fault);
00164     
00165     axis2_linked_list_t * (AXIS2_CALL *
00166     get_in_faults) (axis2_wsdl_binding_op_t *binding_op,
00167                                                 const axis2_env_t *env);
00168     
00169     axis2_status_t (AXIS2_CALL *
00170     set_in_faults) (axis2_wsdl_binding_op_t *binding_op,
00171                                                 const axis2_env_t *env,
00172                                                 axis2_linked_list_t *in_faults);
00173     
00174     axis2_linked_list_t * (AXIS2_CALL *
00175     get_out_faults) (axis2_wsdl_binding_op_t *binding_op,
00176                                                 const axis2_env_t *env);
00177     
00178     axis2_status_t (AXIS2_CALL *
00179     set_out_faults) (axis2_wsdl_binding_op_t *binding_op,
00180                                                 const axis2_env_t *env,
00181                                                 axis2_linked_list_t *out_faults);
00182 };
00183 
00189 struct axis2_wsdl_binding_op
00190 {
00191    axis2_wsdl_binding_op_ops_t *ops;
00192     struct axis2_wsdl_extensible_component *extensible_component;
00193 };
00194 
00198 AXIS2_EXTERN axis2_wsdl_binding_op_t * AXIS2_CALL 
00199 axis2_wsdl_binding_op_create (const axis2_env_t *env);
00200 
00201 /**************************** Start of function macros ************************/
00202 
00203 #define AXIS2_WSDL_BINDING_OP_FREE(wsdl_binding_op, env) \
00204       ((wsdl_binding_op)->ops->free (wsdl_binding_op, env))
00205 
00206 #define AXIS2_WSDL_BINDING_OP_SET_INPUT(wsdl_binding_op, env, input) \
00207       ((wsdl_binding_op)->ops->set_input(wsdl_binding_op , env, input))
00208    
00209 #define AXIS2_WSDL_BINDING_OP_GET_OP(wsdl_binding_op, env) \
00210       ((wsdl_binding_op)->ops->get_op(wsdl_binding_op, env))
00211 
00212 #define AXIS2_WSDL_BINDING_OP_SET_OP(wsdl_binding_op, env, \
00213       op) \
00214       ((wsdl_binding_op)->ops->set_op(wsdl_binding_op, env,\
00215             op))
00216       
00217 #define AXIS2_WSDL_BINDING_OP_GET_OUTPUT(wsdl_binding_op, env) \
00218       ((wsdl_binding_op)->ops->get_output(wsdl_binding_op, env))
00219         
00220 #define AXIS2_WSDL_BINDING_OP_SET_OUTPUT(wsdl_binding_op, env, output) \
00221       ((wsdl_binding_op)->ops->set_output(wsdl_binding_op, env, output))
00222 
00223 #define AXIS2_WSDL_BINDING_OP_GET_QNAME(wsdl_binding_op, env) \
00224       ((wsdl_binding_op)->ops->get_qname(wsdl_binding_op, env))
00225         
00226 #define AXIS2_WSDL_BINDING_OP_SET_QNAME(wsdl_binding_op, env, qname) \
00227       ((wsdl_binding_op)->ops->set_qname(wsdl_binding_op, env, qname))
00228 
00229 #define AXIS2_WSDL_BINDING_OP_ADD_IN_FAULT(wsdl_binding_op, env, in_fault) \
00230       ((wsdl_binding_op)->ops->add_in_fault(wsdl_binding_op, env, in_fault))
00231         
00232 #define AXIS2_WSDL_BINDING_OP_ADD_OUT_FAULT(wsdl_binding_op, env, out_fault) \
00233       ((wsdl_binding_op)->ops->add_out_fault(wsdl_binding_op, env, out_fault))
00234 
00235 #define AXIS2_WSDL_BINDING_OP_GET_IN_FAULTS(wsdl_binding_op, env) \
00236       ((wsdl_binding_op)->ops->get_in_faults(wsdl_binding_op, env))
00237         
00238 #define AXIS2_WSDL_BINDING_OP_SET_IN_FAULTS(wsdl_binding_op, env, in_faults) \
00239       ((wsdl_binding_op)->ops->set_in_faults(wsdl_binding_op, env, in_faults))        
00240 
00241 #define AXIS2_WSDL_BINDING_OP_GET_OUT_FAULTS(wsdl_binding_op, env) \
00242       ((wsdl_binding_op)->ops->get_out_faults(wsdl_binding_op, env))
00243         
00244 #define AXIS2_WSDL_BINDING_OP_SET_OUT_FAULTS(wsdl_binding_op, env, out_faults) \
00245       ((wsdl_binding_op)->ops->set_out_faults(wsdl_binding_op, env, out_faults))
00246      
00247 /**************************** End of function macros **************************/
00248 
00250 #ifdef __cplusplus
00251 }
00252 #endif
00253 
00254 #endif /*AXIS2_WSDL_BINDING_OP_H*/

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