# axis2_svc_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_SVC_CTX_H
    00020 #define AXIS2_SVC_CTX_H
    00021
    00035 #include <axis2_defines.h>
    00036 #include <axutil_env.h>
    00037 #include <axis2_op_ctx.h>
    00038
    00039 #ifdef __cplusplus
    00040 extern "C"
    00041 {
    00042 #endif
    00043
    00045     typedef struct axis2_svc_ctx axis2_svc_ctx_t;
    00046
    00058     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
    00059     axis2_svc_ctx_create(
    00060         const axutil_env_t * env,
    00061         struct axis2_svc *svc,
    00062         struct axis2_svc_grp_ctx *svc_grp_ctx);
    00063
    00070     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
    00071     axis2_svc_ctx_get_base(
    00072         const axis2_svc_ctx_t * svc_ctx,
    00073         const axutil_env_t * env);
    00074
    00081     AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL
    00082     axis2_svc_ctx_get_parent(
    00083         const axis2_svc_ctx_t * svc_ctx,
    00084         const axutil_env_t * env);
    00085
    00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00095     axis2_svc_ctx_set_parent(
    00096         axis2_svc_ctx_t * svc_ctx,
    00097         const axutil_env_t * env,
    00098         struct axis2_svc_grp_ctx *parent);
    00099
    00106     AXIS2_EXTERN void AXIS2_CALL
    00107     axis2_svc_ctx_free(
    00108         struct axis2_svc_ctx *svc_ctx,
    00109         const axutil_env_t * env);
    00110
    00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00121     axis2_svc_ctx_init(
    00122         struct axis2_svc_ctx *svc_ctx,
    00123         const axutil_env_t * env,
    00124         struct axis2_conf *conf);
    00125
    00133     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00134     axis2_svc_ctx_get_svc_id(
    00135         const axis2_svc_ctx_t * svc_ctx,
    00136         const axutil_env_t * env);
    00137
    00144     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
    00145     axis2_svc_ctx_get_svc(
    00146         const axis2_svc_ctx_t * svc_ctx,
    00147         const axutil_env_t * env);
    00148
    00157     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00158     axis2_svc_ctx_set_svc(
    00159         axis2_svc_ctx_t * svc_ctx,
    00160         const axutil_env_t * env,
    00161         struct axis2_svc *svc);
    00162
    00170     AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
    00171     axis2_svc_ctx_get_conf_ctx(
    00172         const axis2_svc_ctx_t * svc_ctx,
    00173         const axutil_env_t * env);
    00174
    00184     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
    00185     axis2_svc_ctx_create_op_ctx(
    00186         struct axis2_svc_ctx *svc_ctx,
    00187         const axutil_env_t * env,
    00188         const axutil_qname_t * qname);
    00189
    00192 #ifdef __cplusplus
    00193 }
    00194 #endif
    00195
    00196 #endif                          /* AXIS2_SVC_CTX_H */