axis2_wsdl_binding.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_BINDING_H
00018 #define AXIS2_WSDL_BINDING_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_hash.h>
00031 #include <axis2_wsdl_binding_op.h>
00032 #include <axis2_wsdl_binding_fault.h>
00033 #include <axis2_qname.h>
00034 #include <axis2_wsdl_interface.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040 
00041 struct axis2_wsdl_interface;
00042 struct axis2_wsdl_binding_op;
00043 struct axis2_wsdl_binding_fault;
00044 struct axis2_wsdl_extensible_component;    
00045 typedef struct axis2_wsdl_binding axis2_wsdl_binding_t;
00046 typedef struct axis2_wsdl_binding_ops axis2_wsdl_binding_ops_t;
00047 
00057  struct axis2_wsdl_binding_ops
00058 {
00062    axis2_status_t (AXIS2_CALL *
00063     free)(axis2_wsdl_binding_t *wsdl_binding,
00064           const axis2_env_t *env);
00065                                
00071     struct axis2_wsdl_interface * (AXIS2_CALL *
00072     get_bound_interface) (axis2_wsdl_binding_t *binding,
00073                                             const axis2_env_t *env);
00074     
00080     axis2_status_t (AXIS2_CALL *
00081     set_bound_interface) (axis2_wsdl_binding_t *binding,
00082                                             const axis2_env_t *env,
00083                                             struct axis2_wsdl_interface *bound_interface);
00084     
00090     axis2_qname_t * (AXIS2_CALL *
00091     get_name) (axis2_wsdl_binding_t *binding,
00092                                 const axis2_env_t *env);
00093     
00099     axis2_status_t (AXIS2_CALL *
00100     set_name) (axis2_wsdl_binding_t *binding,
00101                                 const axis2_env_t *env,
00102                                 axis2_qname_t *qname);
00103     
00109     axis2_char_t * (AXIS2_CALL *
00110     get_target_namespace) (axis2_wsdl_binding_t *binding,
00111                                                 const axis2_env_t *env);
00112     
00118     axis2_hash_t * (AXIS2_CALL *
00119     get_binding_faults) (axis2_wsdl_binding_t *binding,
00120                                             const axis2_env_t *env);
00121     
00127     axis2_status_t (AXIS2_CALL *
00128     set_binding_faults) (axis2_wsdl_binding_t *binding,
00129                                             const axis2_env_t *env,
00130                                             axis2_hash_t *binding_faults);
00131     
00137     axis2_hash_t * (AXIS2_CALL *
00138     get_binding_ops) (axis2_wsdl_binding_t *binding,
00139                                                 const axis2_env_t *env);
00140     
00146     axis2_status_t (AXIS2_CALL *
00147     set_binding_ops) (axis2_wsdl_binding_t *binding,
00148                                                 const axis2_env_t *env,
00149                                                 axis2_hash_t *binding_ops);
00150     
00156     axis2_status_t (AXIS2_CALL *
00157     add_binding_op) (
00158                             axis2_wsdl_binding_t *binding,
00159                             const axis2_env_t *env,
00160                             struct axis2_wsdl_binding_op *binding_op);
00161     
00168     struct axis2_wsdl_binding_op *(AXIS2_CALL *
00169     get_binding_op) (axis2_wsdl_binding_t *binding,
00170                                                 const axis2_env_t *env,
00171                                                 axis2_qname_t *qname);
00172     
00178     axis2_status_t (AXIS2_CALL *
00179     add_binding_fault) (axis2_wsdl_binding_t *binding,
00180                                             const axis2_env_t *env,
00181                                             struct axis2_wsdl_binding_fault *binding_fault);
00182     
00189     struct axis2_wsdl_binding_fault * (AXIS2_CALL *
00190     get_binding_fault) (axis2_wsdl_binding_t *binding,
00191                                             const axis2_env_t *env,
00192                                             axis2_qname_t *ref);
00193 
00194 };
00195 
00199  struct axis2_wsdl_binding
00200 {
00201    axis2_wsdl_binding_ops_t *ops;
00202     struct axis2_wsdl_extensible_component *extensible_component;
00203 };
00204 
00209 AXIS2_EXTERN axis2_wsdl_binding_t *AXIS2_CALL axis2_wsdl_binding_create (const axis2_env_t *env);
00210 
00211 /*************************** Function macros **********************************/
00212 
00213 #define AXIS2_WSDL_BINDING_FREE(wsdl_binding, env) \
00214       ((wsdl_binding)->ops->free (wsdl_binding, env))
00215 
00216 #define AXIS2_WSDL_BINDING_GET_BOUND_INTERFACE(wsdl_binding, env) \
00217       ((wsdl_binding)->ops->get_bound_interface (wsdl_binding, env))
00218 
00219 #define AXIS2_WSDL_BINDING_SET_BOUND_INTERFACE(wsdl_binding, env, interface) \
00220       ((wsdl_binding)->ops->set_bound_interface (wsdl_binding, env, interface))
00221         
00222 #define AXIS2_WSDL_BINDING_GET_NAME(wsdl_binding, env) \
00223       ((wsdl_binding)->ops->get_name (wsdl_binding, env))
00224 
00225 #define AXIS2_WSDL_BINDING_SET_NAME(wsdl_binding, env, qname) \
00226       ((wsdl_binding)->ops->set_name (wsdl_binding, env, qname))        
00227 
00228 #define AXIS2_WSDL_BINDING_GET_TARGET_NAMESPACE(wsdl_binding, env) \
00229       ((wsdl_binding)->ops->get_target_namespace (wsdl_binding, env))
00230 
00231 #define AXIS2_WSDL_BINDING_GET_BINDING_FAULTS(wsdl_binding, env) \
00232       ((wsdl_binding)->ops->get_binding_faults (wsdl_binding, env)) 
00233         
00234 #define AXIS2_WSDL_BINDING_SET_BINDING_FAULTS(wsdl_binding, env, faults) \
00235       ((wsdl_binding)->ops->set_binding_faults (wsdl_binding, env, faults))
00236 
00237 #define AXIS2_WSDL_BINDING_GET_BINDING_OPS(wsdl_binding, env) \
00238       ((wsdl_binding)->ops->get_binding_ops (wsdl_binding, env))
00239 
00240 #define AXIS2_WSDL_BINDING_SET_BINDING_OPS(wsdl_binding, env, ops) \
00241       ((wsdl_binding)->ops->set_binding_ops (wsdl_binding, env, ops)) 
00242         
00243 #define AXIS2_WSDL_BINDING_ADD_BINDING_OP(wsdl_binding, env, op) \
00244       ((wsdl_binding)->ops->add_binding_op (wsdl_binding, env, op))
00245 
00246 #define AXIS2_WSDL_BINDING_GET_BINDING_OP(wsdl_binding, env, qname) \
00247       ((wsdl_binding)->ops->get_binding_op (wsdl_binding, env, qname)) 
00248 
00249 #define AXIS2_WSDL_BINDING_ADD_BINDING_FAULT(wsdl_binding, env, op) \
00250       ((wsdl_binding)->ops->add_binding_fault (wsdl_binding, env, fault))
00251 
00252 #define AXIS2_WSDL_BINDING_GET_BINDING_FAULT(wsdl_binding, env) \
00253       ((wsdl_binding)->ops->get_binding_fault (wsdl_binding, env)) 
00254 /*************************** End of function macros ***************************/
00255 
00258 #ifdef __cplusplus
00259 }
00260 #endif
00261 #endif  /* AXIS2_WSDL_BINDING_H */

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