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

axis2_transport_in_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_TRANSPORT_IN_DESC_H
00018 #define AXIS2_TRANSPORT_IN_DESC_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_qname.h>
00031 #include <axis2_array_list.h>
00032 /*#include <axis2_transport_receiver.h>*/
00033 #include <axis2_phase_meta.h>
00034 #include <axis2_phase.h>
00035 #include <axis2_flow.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00042 struct axis2_phase;
00043 struct axis2_transport_receiver;    
00044 typedef struct axis2_transport_in_desc axis2_transport_in_desc_t;
00045 typedef struct axis2_transport_in_desc_ops axis2_transport_in_desc_ops_t;
00046 
00056 AXIS2_DECLARE_DATA struct axis2_transport_in_desc_ops
00057 {
00061    axis2_status_t (AXIS2_CALL *free)(
00062                     axis2_transport_in_desc_t *transport_in_desc,
00063                  const axis2_env_t *env);
00064     
00068     axis2_qname_t *(AXIS2_CALL *
00069     get_qname) (struct axis2_transport_in_desc *transport_in,
00070                                             const axis2_env_t *env);
00071     
00075     axis2_status_t (AXIS2_CALL *
00076     set_qname) (struct axis2_transport_in_desc *transport_in,
00077                                             const axis2_env_t *env,
00078                                             axis2_qname_t *qname);
00079     
00080     struct axis2_flow *(AXIS2_CALL *
00081     get_inflow) (struct axis2_transport_in_desc *transport_in,
00082                                             const axis2_env_t *env);
00083     
00084     axis2_status_t (AXIS2_CALL *
00085     set_inflow) (struct axis2_transport_in_desc *transport_in,
00086                                             const axis2_env_t *env,
00087                                             struct axis2_flow *inflow);
00088     
00089     struct axis2_flow *(AXIS2_CALL *
00090     get_faultflow) (struct axis2_transport_in_desc *transport_in,
00091                                             const axis2_env_t *env);
00092     
00093     axis2_status_t (AXIS2_CALL *
00094     set_faultflow) (struct axis2_transport_in_desc *transport_in,
00095                                             const axis2_env_t *env,
00096                                             struct axis2_flow *faultflow);
00097     
00101     struct axis2_transport_receiver * (AXIS2_CALL *
00102     get_recv) (struct axis2_transport_in_desc *transport_in,
00103                                             const axis2_env_t *env);
00104     
00108     axis2_status_t (AXIS2_CALL *
00109     set_recv) (struct axis2_transport_in_desc *transport_in,
00110                                             const axis2_env_t *env,
00111                                             struct axis2_transport_receiver *recv);
00112     
00113     struct axis2_phase * (AXIS2_CALL *
00114     get_in_phase) (struct axis2_transport_in_desc *transport_in,
00115                                             const axis2_env_t *env);
00116     
00117     axis2_status_t (AXIS2_CALL *
00118     set_in_phase) (struct axis2_transport_in_desc *transport_in,
00119                                             const axis2_env_t *env,
00120                                             struct axis2_phase *in_phase);
00121     
00122     struct axis2_phase *(AXIS2_CALL *
00123     get_faultphase) (struct axis2_transport_in_desc *transport_in,
00124                                             const axis2_env_t *env);
00125     
00126     axis2_status_t (AXIS2_CALL *
00127     set_faultphase) (struct axis2_transport_in_desc *transport_in,
00128                                             const axis2_env_t *env,
00129                                             struct axis2_phase *faultphase);
00130     axis2_status_t (AXIS2_CALL *
00131     add_param) (axis2_transport_in_desc_t *transport_in_desc,
00132                 const axis2_env_t *env,
00133                 axis2_param_t *param);
00134 
00135     axis2_param_t *(AXIS2_CALL *
00136     get_param) (axis2_transport_in_desc_t *transport_in_desc,
00137                 const axis2_env_t *env,
00138                 axis2_char_t *param_name);
00139 
00140     axis2_bool_t (AXIS2_CALL *
00141     is_param_locked) (axis2_transport_in_desc_t *transport_in_desc,
00142                       const axis2_env_t *env,
00143                       axis2_char_t *param_name);
00144         
00145 
00146 };
00147 
00151 AXIS2_DECLARE_DATA struct axis2_transport_in_desc
00152 {
00153    axis2_transport_in_desc_ops_t *ops;
00154     axis2_param_container_t *param_container;
00155 };
00156 
00161 AXIS2_EXTERN axis2_transport_in_desc_t * AXIS2_CALL 
00162 axis2_transport_in_desc_create_with_qname (const axis2_env_t *env, 
00163                                            axis2_qname_t *qname);
00164 
00165 /*************************** Function macros **********************************/
00166 
00167 #define AXIS2_TRANSPORT_IN_DESC_FREE(transport_in_desc, env) \
00168       ((transport_in_desc)->ops->free (transport_in_desc, env))
00169 
00170 #define AXIS2_TRANSPORT_IN_DESC_GET_QNAME(transport_in_desc, env) \
00171       ((transport_in_desc)->ops->get_qname (transport_in_desc, env))
00172 
00173 #define AXIS2_TRANSPORT_IN_DESC_SET_QNAME(transport_in_desc, env, qname) \
00174       ((transport_in_desc)->ops->set_qname (transport_in_desc, env, qname))
00175 
00176 #define AXIS2_TRANSPORT_IN_DESC_GET_INFLOW(transport_in_desc, env) \
00177       ((transport_in_desc)->ops->get_inflow (transport_in_desc, env))
00178 
00179 #define AXIS2_TRANSPORT_IN_DESC_SET_INFLOW(transport_in_desc, env, inflow) \
00180       ((transport_in_desc)->ops->set_inflow (transport_in_desc, env, inflow))       
00181 
00182 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULTFLOW(transport_in_desc, env) \
00183       ((transport_in_desc)->ops->get_faultflow (transport_in_desc, env)) 
00184         
00185 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULTFLOW(transport_in_desc, env, faultflow) \
00186       ((transport_in_desc)->ops->set_faultflow (transport_in_desc, env, faultflow)) 
00187 
00188 #define AXIS2_TRANSPORT_IN_DESC_GET_RECV(transport_in_desc, env) \
00189       ((transport_in_desc)->ops->get_recv (transport_in_desc, env)) 
00190         
00191 #define AXIS2_TRANSPORT_IN_DESC_SET_RECV(transport_in_desc, env, recv) \
00192       ((transport_in_desc)->ops->set_recv (transport_in_desc, env, recv)) 
00193 
00194 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_PHASE(transport_in_desc, env) \
00195       ((transport_in_desc)->ops->get_in_phase (transport_in_desc, env)) 
00196         
00197 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_PHASE(transport_in_desc, env, in_phase) \
00198       ((transport_in_desc)->ops->set_in_phase (transport_in_desc, env, in_phase)) 
00199 
00200 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULTPHASE(transport_in_desc, env) \
00201       ((transport_in_desc)->ops->get_faultphase (transport_in_desc, env)) 
00202         
00203 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULTPHASE(transport_in_desc, env, faultphase) \
00204       ((transport_in_desc)->ops->set_faultphase (transport_in_desc, env, faultphase))
00205 
00206 #define AXIS2_TRANSPORT_IN_DESC_ADD_PARAM(transport_in_desc, env, param) \
00207       ((transport_in_desc)->ops->add_param (transport_in_desc, env, param)) 
00208 
00209 #define AXIS2_TRANSPORT_IN_DESC_GET_PARAM(transport_in_desc, env, param_name) \
00210       ((transport_in_desc)->ops->get_param (transport_in_desc, env, param_name)) 
00211 
00212 #define AXIS2_TRANSPORT_IN_DESC_IS_PARAM_LOCKED(transport_in_desc, env, param_name) \
00213       ((transport_in_desc)->ops->is_param_locked (transport_in_desc, env, param_name)) 
00214 
00215 /*************************** End of function macros ***************************/
00216 
00219 #ifdef __cplusplus
00220 }
00221 #endif
00222 #endif  /* AXIS2_TRANSPORT_IN_DESC_H */

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