00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_OP_CTX_H
00020 #define AXIS2_OP_CTX_H
00021
00040 #include <axis2_defines.h>
00041 #include <axutil_hash.h>
00042 #include <axutil_env.h>
00043 #include <axis2_msg_ctx.h>
00044 #include <axis2_op.h>
00045
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050
00052 typedef struct axis2_op_ctx axis2_op_ctx_t;
00053
00054 struct axis2_svc_ctx;
00055
00064 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00065 axis2_op_ctx_create(
00066 const axutil_env_t * env,
00067 struct axis2_op *op,
00068 struct axis2_svc_ctx *svc_ctx);
00069
00076 AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00077 axis2_op_ctx_get_base(
00078 const axis2_op_ctx_t * op_ctx,
00079 const axutil_env_t * env);
00080
00087 AXIS2_EXTERN void AXIS2_CALL
00088 axis2_op_ctx_free(
00089 struct axis2_op_ctx *op_ctx,
00090 const axutil_env_t * env);
00091
00100 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101 axis2_op_ctx_init(
00102 struct axis2_op_ctx *op_ctx,
00103 const axutil_env_t * env,
00104 struct axis2_conf *conf);
00105
00112 AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00113 axis2_op_ctx_get_op(
00114 const axis2_op_ctx_t * op_ctx,
00115 const axutil_env_t * env);
00116
00124 AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00125 axis2_op_ctx_get_parent(
00126 const axis2_op_ctx_t * op_ctx,
00127 const axutil_env_t * env);
00128
00137 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138 axis2_op_ctx_add_msg_ctx(
00139 struct axis2_op_ctx *op_ctx,
00140 const axutil_env_t * env,
00141 axis2_msg_ctx_t * msg_ctx);
00142
00150 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00151 axis2_op_ctx_get_msg_ctx(
00152 const axis2_op_ctx_t * op_ctx,
00153 const axutil_env_t * env,
00154 const axis2_wsdl_msg_labels_t message_id);
00155
00164 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00165 axis2_op_ctx_get_is_complete(
00166 const axis2_op_ctx_t * op_ctx,
00167 const axutil_env_t * env);
00168
00179 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00180 axis2_op_ctx_set_complete(
00181 struct axis2_op_ctx *op_ctx,
00182 const axutil_env_t * env,
00183 axis2_bool_t is_complete);
00184
00192 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00193 axis2_op_ctx_cleanup(
00194 struct axis2_op_ctx *op_ctx,
00195 const axutil_env_t * env);
00196
00205 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00206 axis2_op_ctx_set_parent(
00207 struct axis2_op_ctx *op_ctx,
00208 const axutil_env_t * env,
00209 struct axis2_svc_ctx *svc_ctx);
00210
00217 AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL
00218 axis2_op_ctx_get_msg_ctx_map(
00219 const axis2_op_ctx_t * op_ctx,
00220 const axutil_env_t * env);
00221
00230 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00231 axis2_op_ctx_set_response_written(
00232 axis2_op_ctx_t * op_ctx,
00233 const axutil_env_t * env,
00234 const axis2_bool_t response_written);
00235
00242 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00243 axis2_op_ctx_get_response_written(
00244 const axis2_op_ctx_t * op_ctx,
00245 const axutil_env_t * env);
00246
00253 AXIS2_EXTERN void AXIS2_CALL
00254 axis2_op_ctx_destroy_mutex(
00255 struct axis2_op_ctx *op_ctx,
00256 const axutil_env_t * env);
00257
00266 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00267 axis2_op_ctx_is_in_use(
00268 const axis2_op_ctx_t * op_ctx,
00269 const axutil_env_t * env);
00270
00280 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00281 axis2_op_ctx_set_in_use(
00282 struct axis2_op_ctx *op_ctx,
00283 const axutil_env_t * env,
00284 axis2_bool_t is_in_use);
00285
00294 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00295 axis2_op_ctx_increment_ref(
00296 axis2_op_ctx_t * op_ctx,
00297 const axutil_env_t * env);
00298
00301 #ifdef __cplusplus
00302 }
00303 #endif
00304
00305 #endif