00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_OP_CTX_H
00019 #define AXIS2_OP_CTX_H
00020
00039 #include <axis2_defines.h>
00040 #include <axutil_hash.h>
00041 #include <axutil_env.h>
00042 #include <axis2_msg_ctx.h>
00043 #include <axis2_op.h>
00044
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049
00051 typedef struct axis2_op_ctx axis2_op_ctx_t;
00052
00053 struct axis2_svc_ctx;
00054
00063 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00064 axis2_op_ctx_create(const axutil_env_t *env,
00065 struct axis2_op *op,
00066 struct axis2_svc_ctx *svc_ctx);
00067
00074 AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00075 axis2_op_ctx_get_base(const axis2_op_ctx_t *op_ctx,
00076 const axutil_env_t *env);
00077
00084 AXIS2_EXTERN void AXIS2_CALL
00085 axis2_op_ctx_free(struct axis2_op_ctx *op_ctx,
00086 const axutil_env_t *env);
00087
00096 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097 axis2_op_ctx_init(struct axis2_op_ctx *op_ctx,
00098 const axutil_env_t *env,
00099 struct axis2_conf *conf);
00100
00107 AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00108 axis2_op_ctx_get_op(const axis2_op_ctx_t *op_ctx,
00109 const axutil_env_t *env);
00110
00118 AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00119 axis2_op_ctx_get_parent(const axis2_op_ctx_t *op_ctx,
00120 const axutil_env_t *env);
00121
00130 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131 axis2_op_ctx_add_msg_ctx(struct axis2_op_ctx *op_ctx,
00132 const axutil_env_t *env,
00133 axis2_msg_ctx_t *msg_ctx);
00134
00142 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00143 axis2_op_ctx_get_msg_ctx(const axis2_op_ctx_t *op_ctx,
00144 const axutil_env_t *env,
00145 const axis2_wsdl_msg_labels_t message_id);
00146
00155 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00156 axis2_op_ctx_get_is_complete(const axis2_op_ctx_t *op_ctx,
00157 const axutil_env_t *env);
00158
00169 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170 axis2_op_ctx_set_complete(struct axis2_op_ctx *op_ctx,
00171 const axutil_env_t *env,
00172 axis2_bool_t is_complete);
00173
00181 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182 axis2_op_ctx_cleanup(struct axis2_op_ctx *op_ctx,
00183 const axutil_env_t *env);
00184
00193 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00194 axis2_op_ctx_set_parent(struct axis2_op_ctx *op_ctx,
00195 const axutil_env_t *env,
00196 struct axis2_svc_ctx *svc_ctx);
00197
00204 AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL
00205 axis2_op_ctx_get_msg_ctx_map(const axis2_op_ctx_t *op_ctx,
00206 const axutil_env_t *env);
00207
00216 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00217 axis2_op_ctx_set_response_written(axis2_op_ctx_t *op_ctx,
00218 const axutil_env_t *env,
00219 const axis2_bool_t response_written);
00220
00221
00228 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00229 axis2_op_ctx_get_response_written(const axis2_op_ctx_t *op_ctx,
00230 const axutil_env_t *env);
00231
00232 AXIS2_EXTERN void AXIS2_CALL
00233 axis2_op_ctx_destroy_mutex(
00234 struct axis2_op_ctx *op_ctx,
00235 const axutil_env_t *env);
00236
00245 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00246 axis2_op_ctx_is_in_use(
00247 const axis2_op_ctx_t *op_ctx,
00248 const axutil_env_t *env);
00249
00258 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00259 axis2_op_ctx_set_in_use(
00260 struct axis2_op_ctx *op_ctx,
00261 const axutil_env_t *env,
00262 axis2_bool_t is_in_use);
00263
00264
00265 #ifdef __cplusplus
00266 }
00267 #endif
00268
00269 #endif