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

axis2_transport_out_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_OUT_DESC_H
00018 #define AXIS2_TRANSPORT_OUT_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_phase_meta.h>
00033 #include <axis2_phase.h>
00034 #include <axis2_flow.h>
00035 #include <axis2_transport_sender.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00042 struct axis2_phase;
00043 struct axis2_transport_sender;    
00044 typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00045 typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00046 
00056 AXIS2_DECLARE_DATA struct axis2_transport_out_desc_ops
00057 {
00061    axis2_status_t (AXIS2_CALL *free)(
00062                     axis2_transport_out_desc_t *transport_out_desc,
00063                  const axis2_env_t *env);
00064     
00068     axis2_qname_t *(AXIS2_CALL *
00069     get_qname) (struct axis2_transport_out_desc *transport_out,
00070                 const axis2_env_t *env);
00071     
00075     axis2_status_t (AXIS2_CALL *
00076     set_qname) (struct axis2_transport_out_desc *transport_out,
00077                 const axis2_env_t *env,
00078                 axis2_qname_t *qname);
00079     
00080     struct axis2_flow *(AXIS2_CALL *
00081     get_outflow) (struct axis2_transport_out_desc *transport_out,
00082                     const axis2_env_t *env);
00083     
00084     axis2_status_t (AXIS2_CALL *
00085     set_outflow) (struct axis2_transport_out_desc *transport_out,
00086                     const axis2_env_t *env,
00087                     struct axis2_flow *outflow);
00088     
00089     struct axis2_flow *(AXIS2_CALL *
00090     get_faultflow) (struct axis2_transport_out_desc *transport_out,
00091                     const axis2_env_t *env);
00092     
00093     axis2_status_t (AXIS2_CALL *
00094     set_faultflow) (struct axis2_transport_out_desc *transport_out,
00095                     const axis2_env_t *env,
00096                     struct axis2_flow *faultflow);
00097     
00101     axis2_transport_sender_t * (AXIS2_CALL *
00102     get_sender) (struct axis2_transport_out_desc *transport_out,
00103                     const axis2_env_t *env);
00104     
00108     axis2_status_t (AXIS2_CALL *
00109     set_sender) (struct axis2_transport_out_desc *transport_out,
00110                     const axis2_env_t *env,
00111                     axis2_transport_sender_t *sender);
00112     
00113     struct axis2_phase * (AXIS2_CALL *
00114     get_out_phase) (struct axis2_transport_out_desc *transport_out,
00115                     const axis2_env_t *env);
00116     
00117     axis2_status_t (AXIS2_CALL *
00118     set_out_phase) (struct axis2_transport_out_desc *transport_out,
00119                     const axis2_env_t *env,
00120                     struct axis2_phase *out_phase);
00121     
00122     struct axis2_phase *(AXIS2_CALL *
00123     get_faultphase) (struct axis2_transport_out_desc *transport_out,
00124                         const axis2_env_t *env);
00125     
00126     axis2_status_t (AXIS2_CALL *
00127     set_faultphase) (struct axis2_transport_out_desc *transport_out,
00128                         const axis2_env_t *env,
00129                         struct axis2_phase *faultphase);
00130         
00131     axis2_status_t (AXIS2_CALL *
00132     add_param) (axis2_transport_out_desc_t *transport_out_desc,
00133                 const axis2_env_t *env,
00134                 axis2_param_t *param);
00135 
00136     axis2_param_t *(AXIS2_CALL *
00137     get_param) (axis2_transport_out_desc_t *transport_out_desc,
00138                 const axis2_env_t *env,
00139                 axis2_char_t *param_name);
00140 
00141     axis2_bool_t (AXIS2_CALL *
00142     is_param_locked) (axis2_transport_out_desc_t *transport_out_desc,
00143                       const axis2_env_t *env,
00144                       axis2_char_t *param_name);
00145 
00146 };
00147 
00151 AXIS2_DECLARE_DATA struct axis2_transport_out_desc
00152 {
00153    axis2_transport_out_desc_ops_t *ops;
00154     axis2_param_container_t *param_container;
00155 };
00156 
00161 AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL 
00162 axis2_transport_out_desc_create_with_qname (const axis2_env_t *env, axis2_qname_t *qname);
00163 
00164 /*************************** Function macros **********************************/
00165 
00166 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00167       ((transport_out_desc)->ops->free (transport_out_desc, env))
00168 
00169 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00170       ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00171 
00172 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00173       ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00174 
00175 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUTFLOW(transport_out_desc, env) \
00176       ((transport_out_desc)->ops->get_outflow (transport_out_desc, env))
00177 
00178 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUTFLOW(transport_out_desc, env, outflow) \
00179       ((transport_out_desc)->ops->set_outflow (transport_out_desc, env, outflow))       
00180 
00181 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULTFLOW(transport_out_desc, env) \
00182       ((transport_out_desc)->ops->get_faultflow (transport_out_desc, env)) 
00183         
00184 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULTFLOW(transport_out_desc, env, faultflow) \
00185       ((transport_out_desc)->ops->set_faultflow (transport_out_desc, env, faultflow)) 
00186 
00187 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00188       ((transport_out_desc)->ops->get_sender (transport_out_desc, env)) 
00189         
00190 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00191       ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender)) 
00192 
00193 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00194       ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env)) 
00195         
00196 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00197       ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase)) 
00198 
00199 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULTPHASE(transport_out_desc, env) \
00200       ((transport_out_desc)->ops->get_faultphase (transport_out_desc, env)) 
00201         
00202 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULTPHASE(transport_out_desc, env, faultphase) \
00203       ((transport_out_desc)->ops->set_faultphase (transport_out_desc, env, faultphase))
00204 
00205 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00206       ((transport_out_desc)->ops->add_param (transport_out_desc, env, param)) 
00207 
00208 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00209       ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name)) 
00210 
00211 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00212       ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name)) 
00213 
00214 /*************************** End of function macros ***************************/
00215 
00218 #ifdef __cplusplus
00219 }
00220 #endif
00221 #endif  /* AXIS2_TRANSPORT_OUT_DESC_H */

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