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 
00037 #include <axis2_const.h>
00038 #include <axis2_error.h>
00039 #include <axis2_defines.h>
00040 #include <axis2_env.h>
00041 #include <axis2_allocator.h>
00042 #include <axis2_qname.h>
00043 #include <axis2_array_list.h>
00044 #include <axis2_phase_meta.h>
00045 #include <axis2_phase.h>
00046 #include <axis2_flow.h>
00047 #include <axis2_transport_sender.h>
00048 
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053 
00055     typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00057     typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00058 
00059     struct axis2_phase;
00060     struct axis2_transport_sender;
00061 
00066     struct axis2_transport_out_desc_ops
00067     {
00074         axis2_status_t (AXIS2_CALL *
00075                 free)(
00076                     axis2_transport_out_desc_t *transport_out_desc,
00077                     const axis2_env_t *env);
00078 
00086         axis2_status_t (AXIS2_CALL *
00087                 free_void_arg)(
00088                     void *transport_out,
00089                     const axis2_env_t *env);
00090 
00097         const axis2_qname_t *(AXIS2_CALL *
00098                 get_qname)(
00099                     const axis2_transport_out_desc_t *transport_out,
00100                     const axis2_env_t *env);
00101 
00109         axis2_status_t (AXIS2_CALL *
00110                 set_qname)(
00111                     struct axis2_transport_out_desc *transport_out,
00112                     const axis2_env_t *env,
00113                     const axis2_qname_t *qname);
00114 
00123         struct axis2_flow *(AXIS2_CALL *
00124                 get_out_flow)(
00125                     const axis2_transport_out_desc_t *transport_out,
00126                     const axis2_env_t *env);
00127 
00137         axis2_status_t (AXIS2_CALL *
00138                 set_out_flow)(
00139                     struct axis2_transport_out_desc *transport_out,
00140                     const axis2_env_t *env,
00141                     struct axis2_flow *out_flow);
00142 
00150         struct axis2_flow *(AXIS2_CALL *
00151                 get_fault_out_flow)(
00152                     const axis2_transport_out_desc_t *transport_out,
00153                     const axis2_env_t *env);
00154 
00163         axis2_status_t (AXIS2_CALL *
00164                 set_fault_out_flow)(
00165                     struct axis2_transport_out_desc *transport_out,
00166                     const axis2_env_t *env,
00167                     struct axis2_flow *fault_out_flow);
00168 
00176         axis2_transport_sender_t *(AXIS2_CALL *
00177                 get_sender)(
00178                     const axis2_transport_out_desc_t *transport_out,
00179                     const axis2_env_t *env);
00180 
00189         axis2_status_t (AXIS2_CALL *
00190                 set_sender)(
00191                     struct axis2_transport_out_desc *transport_out,
00192                     const axis2_env_t *env,
00193                     axis2_transport_sender_t *sender);
00194 
00202         struct axis2_phase * (AXIS2_CALL *
00203                 get_out_phase)(
00204                     const axis2_transport_out_desc_t *transport_out,
00205                     const axis2_env_t *env);
00206 
00215         axis2_status_t (AXIS2_CALL *
00216                 set_out_phase)(
00217                     struct axis2_transport_out_desc *transport_out,
00218                     const axis2_env_t *env,
00219                     struct axis2_phase *out_phase);
00220 
00228         struct axis2_phase *(AXIS2_CALL *
00229                 get_fault_phase)(
00230                     const axis2_transport_out_desc_t *transport_out,
00231                     const axis2_env_t *env);
00232 
00241         axis2_status_t (AXIS2_CALL *
00242                 set_fault_phase)(
00243                     struct axis2_transport_out_desc *transport_out,
00244                     const axis2_env_t *env,
00245                     struct axis2_phase *fault_phase);
00246 
00255         axis2_status_t (AXIS2_CALL *
00256                 add_param)(
00257                     axis2_transport_out_desc_t *transport_out_desc,
00258                     const axis2_env_t *env,
00259                     axis2_param_t *param);
00260 
00267         axis2_param_t *(AXIS2_CALL *
00268                 get_param)(
00269                     const axis2_transport_out_desc_t *transport_out_desc,
00270                     const axis2_env_t *env,
00271                     const axis2_char_t *param_name);
00272 
00279         axis2_bool_t (AXIS2_CALL *
00280                 is_param_locked)(
00281                     axis2_transport_out_desc_t *transport_out_desc,
00282                     const axis2_env_t *env,
00283                     const axis2_char_t *param_name);
00284 
00285     };
00286 
00290     struct axis2_transport_out_desc
00291     {
00293         axis2_transport_out_desc_ops_t *ops;
00295         axis2_param_container_t *param_container;
00296     };
00297 
00305     AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL
00306     axis2_transport_out_desc_create_with_qname (
00307         const axis2_env_t *env,
00308         const axis2_qname_t *qname);
00309 
00317     axis2_status_t AXIS2_CALL
00318     axis2_transport_out_desc_free_void_arg(
00319         void *transport_out,
00320         const axis2_env_t *env);
00321 
00324 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00325       ((transport_out_desc)->ops->free (transport_out_desc, env))
00326 
00329 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00330       ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00331 
00334 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00335       ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00336 
00339 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_FLOW(transport_out_desc, env) \
00340       ((transport_out_desc)->ops->get_out_flow (transport_out_desc, env))
00341 
00344 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_FLOW(transport_out_desc, env, out_flow) \
00345       ((transport_out_desc)->ops->set_out_flow (transport_out_desc, env, out_flow))
00346 
00349 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_OUT_FLOW(transport_out_desc, env) \
00350       ((transport_out_desc)->ops->get_fault_out_flow (transport_out_desc, env))
00351 
00354 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_OUT_FLOW(transport_out_desc, env, fault_out_flow) \
00355       ((transport_out_desc)->ops->set_fault_out_flow (transport_out_desc, env, fault_out_flow))
00356 
00359 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00360       ((transport_out_desc)->ops->get_sender (transport_out_desc, env))
00361 
00364 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00365       ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender))
00366 
00369 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00370       ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env))
00371 
00374 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00375       ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase))
00376 
00379 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_PHASE(transport_out_desc, env) \
00380       ((transport_out_desc)->ops->get_fault_phase (transport_out_desc, env))
00381 
00384 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_PHASE(transport_out_desc, env, fault_phase) \
00385       ((transport_out_desc)->ops->set_fault_phase (transport_out_desc, env, fault_phase))
00386 
00389 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00390       ((transport_out_desc)->ops->add_param (transport_out_desc, env, param))
00391 
00394 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00395       ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name))
00396 
00399 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00400       ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name))
00401 
00404 #ifdef __cplusplus
00405 }
00406 #endif
00407 #endif  /* AXIS2_TRANSPORT_OUT_DESC_H */

Generated on Thu Aug 31 17:32:36 2006 for Axis2/C by  doxygen 1.4.6