# axis2_phase_resolver.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_PHASE_RESOLVER_H
    00020 #define AXIS2_PHASE_RESOLVER_H
    00021
    00064 #include <axis2_const.h>
    00065 #include <axutil_error.h>
    00066 #include <axis2_defines.h>
    00067 #include <axutil_env.h>
    00068 #include <axutil_allocator.h>
    00069 #include <axutil_qname.h>
    00070 #include <axutil_array_list.h>
    00071 #include <axutil_hash.h>
    00072 #include <axis2_handler_desc.h>
    00073 #include <axis2_phase.h>
    00074 #include <axis2_phase_rule.h>
    00075 #include <axis2_handler.h>
    00076 #include <axis2_handler_desc.h>
    00077 #include <axis2_flow.h>
    00078 #include <axis2_module_desc.h>
    00079 #include <axis2_phase_holder.h>
    00080
    00081 #ifdef __cplusplus
    00082 extern "C"
    00083 {
    00084 #endif
    00085
    00087     typedef struct axis2_phase_resolver axis2_phase_resolver_t;
    00088
    00089     struct axis2_phase;
    00090     struct axis2_handler_desc;
    00091     struct axis2_module_desc;
    00092     struct axis2_handler;
    00093     struct axis2_phase_rule;
    00094     struct axis2_svc;
    00095     struct axis2_conf;
    00096     struct axis2_op;
    00097     struct axis2_phase_holder;
    00098
    00105     AXIS2_EXTERN void AXIS2_CALL
    00106     axis2_phase_resolver_free(
    00107         axis2_phase_resolver_t * phase_resolver,
    00108         const axutil_env_t * env);
    00109
    00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00120
    00121     axis2_phase_resolver_engage_module_globally(
    00122         axis2_phase_resolver_t * phase_resolver,
    00123         const axutil_env_t * env,
    00124         struct axis2_module_desc *module);
    00125
    00136     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00137
    00138     axis2_phase_resolver_engage_module_to_svc(
    00139         axis2_phase_resolver_t * phase_resolver,
    00140         const axutil_env_t * env,
    00141         struct axis2_svc *svc,
    00142         struct axis2_module_desc *module_desc);
    00143
    00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00153     axis2_phase_resolver_engage_module_to_op(
    00154         axis2_phase_resolver_t * phase_resolver,
    00155         const axutil_env_t * env,
    00156         struct axis2_op *axis_op,
    00157         struct axis2_module_desc *module_desc);
    00158
    00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00168     axis2_phase_resolver_build_execution_chains_for_svc(
    00169         axis2_phase_resolver_t * phase_resolver,
    00170         const axutil_env_t * env);
    00171
    00179     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00180
    00181     axis2_phase_resolver_build_execution_chains_for_module_op(
    00182         axis2_phase_resolver_t * phase_resolver,
    00183         const axutil_env_t * env,
    00184         struct axis2_op *op);
    00185
    00196     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00197     axis2_phase_resolver_disengage_module_from_svc(
    00198         axis2_phase_resolver_t * phase_resolver,
    00199         const axutil_env_t * env,
    00200         struct axis2_svc *svc,
    00201         struct axis2_module_desc *module_desc);
    00202
    00211     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00212     axis2_phase_resolver_disengage_module_from_op(
    00213         axis2_phase_resolver_t * phase_resolver,
    00214         const axutil_env_t * env,
    00215         struct axis2_op *axis_op,
    00216         struct axis2_module_desc *module_desc);
    00217
    00226     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00227     axis2_phase_resolver_build_transport_chains(
    00228         axis2_phase_resolver_t * phase_resolver,
    00229         const axutil_env_t * env);
    00230
    00236     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
    00237
    00238     axis2_phase_resolver_create(
    00239         const axutil_env_t * env);
    00240
    00248     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
    00249
    00250     axis2_phase_resolver_create_with_config(
    00251         const axutil_env_t * env,
    00252         struct axis2_conf *axis2_config);
    00253
    00263     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
    00264
    00265     axis2_phase_resolver_create_with_config_and_svc(
    00266         const axutil_env_t * env,
    00267         struct axis2_conf *axis2_config,
    00268         struct axis2_svc *svc);
    00269
    00272 #ifdef __cplusplus
    00273 }
    00274 #endif
    00275 #endif                          /* AXIS2_PHASE_RESOLVER_H */