# axis2_op_ctx.h

Go to the documentation of this file.

    00001
    00002 /*
    00003 * Licensed to the Apache Software Foundation (ASF) under one or more
    00004 * contributor license agreements.  See the NOTICE file distributed with
    00005 * this work for additional information regarding copyright ownership.
    00006 * The ASF licenses this file to You under the Apache License, Version 2.0
    00007 * (the "License"); you may not use this file except in compliance with
    00008 * the License.  You may obtain a copy of the License at
    00009 *
    00010 *      http://www.apache.org/licenses/LICENSE-2.0
    00011 *
    00012 * Unless required by applicable law or agreed to in writing, software
    00013 * distributed under the License is distributed on an "AS IS" BASIS,
    00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015 * See the License for the specific language governing permissions and
    00016 * limitations under the License.
    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                          /* AXIS2_OP_CTX_H */