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
00152 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00153 axis2_op_ctx_get_msg_ctx(
00154 const axis2_op_ctx_t * op_ctx,
00155 const axutil_env_t * env,
00156 const axis2_wsdl_msg_labels_t message_id);
00157
00166 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00167 axis2_op_ctx_get_is_complete(
00168 const axis2_op_ctx_t * op_ctx,
00169 const axutil_env_t * env);
00170
00181 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182 axis2_op_ctx_set_complete(
00183 struct axis2_op_ctx *op_ctx,
00184 const axutil_env_t * env,
00185 axis2_bool_t is_complete);
00186
00194 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195 axis2_op_ctx_cleanup(
00196 struct axis2_op_ctx *op_ctx,
00197 const axutil_env_t * env);
00198
00207 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208 axis2_op_ctx_set_parent(
00209 struct axis2_op_ctx *op_ctx,
00210 const axutil_env_t * env,
00211 struct axis2_svc_ctx *svc_ctx);
00212
00219 AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL
00220 axis2_op_ctx_get_msg_ctx_map(
00221 const axis2_op_ctx_t * op_ctx,
00222 const axutil_env_t * env);
00223
00232 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00233 axis2_op_ctx_set_response_written(
00234 axis2_op_ctx_t * op_ctx,
00235 const axutil_env_t * env,
00236 const axis2_bool_t response_written);
00237
00244 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00245 axis2_op_ctx_get_response_written(
00246 const axis2_op_ctx_t * op_ctx,
00247 const axutil_env_t * env);
00248
00255 AXIS2_EXTERN void AXIS2_CALL
00256 axis2_op_ctx_destroy_mutex(
00257 struct axis2_op_ctx *op_ctx,
00258 const axutil_env_t * env);
00259
00268 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00269 axis2_op_ctx_is_in_use(
00270 const axis2_op_ctx_t * op_ctx,
00271 const axutil_env_t * env);
00272
00282 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00283 axis2_op_ctx_set_in_use(
00284 struct axis2_op_ctx *op_ctx,
00285 const axutil_env_t * env,
00286 axis2_bool_t is_in_use);
00287
00296 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00297 axis2_op_ctx_increment_ref(
00298 axis2_op_ctx_t * op_ctx,
00299 const axutil_env_t * env);
00300
00303 #ifdef __cplusplus
00304 }
00305 #endif
00306
00307 #endif