axis2_transport_out_desc.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_TRANSPORT_OUT_DESC_H
00019 #define AXIS2_TRANSPORT_OUT_DESC_H
00020 
00038 #include <axis2_const.h>
00039 #include <axis2_error.h>
00040 #include <axis2_defines.h>
00041 #include <axis2_env.h>
00042 #include <axis2_allocator.h>
00043 #include <axis2_qname.h>
00044 #include <axis2_array_list.h>
00045 #include <axis2_phase_meta.h>
00046 #include <axis2_phase.h>
00047 #include <axis2_flow.h>
00048 #include <axis2_transport_sender.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00056     typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00058     typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00059 
00060     struct axis2_phase;
00061     struct axis2_transport_sender;
00062 
00067     struct axis2_transport_out_desc_ops
00068     {
00075         axis2_status_t (AXIS2_CALL *
00076                 free)(
00077                     axis2_transport_out_desc_t *transport_out_desc,
00078                     const axis2_env_t *env);
00079 
00087         axis2_status_t (AXIS2_CALL *
00088                 free_void_arg)(
00089                     void *transport_out,
00090                     const axis2_env_t *env);
00091 
00098         const axis2_qname_t *(AXIS2_CALL *
00099                 get_qname)(
00100                     const axis2_transport_out_desc_t *transport_out,
00101                     const axis2_env_t *env);
00102 
00110         axis2_status_t (AXIS2_CALL *
00111                 set_qname)(
00112                     struct axis2_transport_out_desc *transport_out,
00113                     const axis2_env_t *env,
00114                     const axis2_qname_t *qname);
00115 
00124         struct axis2_flow *(AXIS2_CALL *
00125                 get_out_flow)(
00126                     const axis2_transport_out_desc_t *transport_out,
00127                     const axis2_env_t *env);
00128 
00138         axis2_status_t (AXIS2_CALL *
00139                 set_out_flow)(
00140                     struct axis2_transport_out_desc *transport_out,
00141                     const axis2_env_t *env,
00142                     struct axis2_flow *out_flow);
00143 
00151         struct axis2_flow *(AXIS2_CALL *
00152                 get_fault_out_flow)(
00153                     const axis2_transport_out_desc_t *transport_out,
00154                     const axis2_env_t *env);
00155 
00164         axis2_status_t (AXIS2_CALL *
00165                 set_fault_out_flow)(
00166                     struct axis2_transport_out_desc *transport_out,
00167                     const axis2_env_t *env,
00168                     struct axis2_flow *fault_out_flow);
00169 
00177         axis2_transport_sender_t *(AXIS2_CALL *
00178                 get_sender)(
00179                     const axis2_transport_out_desc_t *transport_out,
00180                     const axis2_env_t *env);
00181 
00190         axis2_status_t (AXIS2_CALL *
00191                 set_sender)(
00192                     struct axis2_transport_out_desc *transport_out,
00193                     const axis2_env_t *env,
00194                     axis2_transport_sender_t *sender);
00195 
00203         struct axis2_phase * (AXIS2_CALL *
00204                 get_out_phase)(
00205                     const axis2_transport_out_desc_t *transport_out,
00206                     const axis2_env_t *env);
00207 
00216         axis2_status_t (AXIS2_CALL *
00217                 set_out_phase)(
00218                     struct axis2_transport_out_desc *transport_out,
00219                     const axis2_env_t *env,
00220                     struct axis2_phase *out_phase);
00221 
00229         struct axis2_phase *(AXIS2_CALL *
00230                 get_fault_phase)(
00231                     const axis2_transport_out_desc_t *transport_out,
00232                     const axis2_env_t *env);
00233 
00242         axis2_status_t (AXIS2_CALL *
00243                 set_fault_phase)(
00244                     struct axis2_transport_out_desc *transport_out,
00245                     const axis2_env_t *env,
00246                     struct axis2_phase *fault_phase);
00247 
00256         axis2_status_t (AXIS2_CALL *
00257                 add_param)(
00258                     axis2_transport_out_desc_t *transport_out_desc,
00259                     const axis2_env_t *env,
00260                     axis2_param_t *param);
00261 
00268         axis2_param_t *(AXIS2_CALL *
00269                 get_param)(
00270                     const axis2_transport_out_desc_t *transport_out_desc,
00271                     const axis2_env_t *env,
00272                     const axis2_char_t *param_name);
00273 
00280         axis2_bool_t (AXIS2_CALL *
00281                 is_param_locked)(
00282                     axis2_transport_out_desc_t *transport_out_desc,
00283                     const axis2_env_t *env,
00284                     const axis2_char_t *param_name);
00285 
00286     };
00287 
00291     struct axis2_transport_out_desc
00292     {
00294         axis2_transport_out_desc_ops_t *ops;
00296         axis2_param_container_t *param_container;
00297     };
00298 
00306     AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL
00307     axis2_transport_out_desc_create_with_qname (
00308         const axis2_env_t *env,
00309         const axis2_qname_t *qname);
00310 
00318     axis2_status_t AXIS2_CALL
00319     axis2_transport_out_desc_free_void_arg(
00320         void *transport_out,
00321         const axis2_env_t *env);
00322 
00325 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00326       ((transport_out_desc)->ops->free (transport_out_desc, env))
00327 
00330 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00331       ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00332 
00335 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00336       ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00337 
00340 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_FLOW(transport_out_desc, env) \
00341       ((transport_out_desc)->ops->get_out_flow (transport_out_desc, env))
00342 
00345 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_FLOW(transport_out_desc, env, out_flow) \
00346       ((transport_out_desc)->ops->set_out_flow (transport_out_desc, env, out_flow))
00347 
00350 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_OUT_FLOW(transport_out_desc, env) \
00351       ((transport_out_desc)->ops->get_fault_out_flow (transport_out_desc, env))
00352 
00355 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_OUT_FLOW(transport_out_desc, env, fault_out_flow) \
00356       ((transport_out_desc)->ops->set_fault_out_flow (transport_out_desc, env, fault_out_flow))
00357 
00360 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00361       ((transport_out_desc)->ops->get_sender (transport_out_desc, env))
00362 
00365 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00366       ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender))
00367 
00370 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00371       ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env))
00372 
00375 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00376       ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase))
00377 
00380 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_PHASE(transport_out_desc, env) \
00381       ((transport_out_desc)->ops->get_fault_phase (transport_out_desc, env))
00382 
00385 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_PHASE(transport_out_desc, env, fault_phase) \
00386       ((transport_out_desc)->ops->set_fault_phase (transport_out_desc, env, fault_phase))
00387 
00390 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00391       ((transport_out_desc)->ops->add_param (transport_out_desc, env, param))
00392 
00395 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00396       ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name))
00397 
00400 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00401       ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name))
00402 
00405 #ifdef __cplusplus
00406 }
00407 #endif
00408 #endif  /* AXIS2_TRANSPORT_OUT_DESC_H */

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