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 
00042 #include <axis2_const.h>
00043 #include <axutil_error.h>
00044 #include <axis2_defines.h>
00045 #include <axutil_env.h>
00046 #include <axutil_allocator.h>
00047 #include <axutil_qname.h>
00048 #include <axutil_array_list.h>
00049 #include <axutil_hash.h>
00050 #include <axis2_handler_desc.h>
00051 #include <axis2_phase.h>
00052 #include <axis2_phase_rule.h>
00053 #include <axis2_handler.h>
00054 #include <axis2_handler_desc.h>
00055 #include <axis2_flow.h>
00056 #include <axis2_module_desc.h>
00057 #include <axis2_phase_holder.h>
00058 
00059 #ifdef __cplusplus
00060 extern "C"
00061 {
00062 #endif
00063 
00065     typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00066 
00067     struct axis2_phase;
00068     struct axis2_handler_desc;
00069     struct axis2_module_desc;
00070     struct axis2_handler;
00071     struct axis2_phase_rule;
00072     struct axis2_svc;
00073     struct axis2_conf;
00074     struct axis2_op;
00075     struct axis2_phase_holder;
00076 
00083     AXIS2_EXTERN void AXIS2_CALL
00084     axis2_phase_resolver_free(
00085         axis2_phase_resolver_t * phase_resolver,
00086         const axutil_env_t * env);
00087 
00095     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00096     axis2_phase_resolver_build_chains(
00097         axis2_phase_resolver_t * phase_resolver,
00098         const axutil_env_t * env);
00099 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108 
00109     axis2_phase_resolver_build_module_op(
00110         axis2_phase_resolver_t * phase_resolver,
00111         const axutil_env_t * env,
00112         struct axis2_op *op);
00113 
00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121 
00122     axis2_phase_resolver_build_transport_chains(
00123         axis2_phase_resolver_t * phase_resolver,
00124         const axutil_env_t * env);
00125 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136 
00137     axis2_phase_resolver_engage_module_globally(
00138         axis2_phase_resolver_t * phase_resolver,
00139         const axutil_env_t * env,
00140         struct axis2_module_desc *module);
00141 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153 
00154     axis2_phase_resolver_engage_module_to_svc_from_global(
00155         axis2_phase_resolver_t * phase_resolver,
00156         const axutil_env_t * env,
00157         struct axis2_svc *svc,
00158         struct axis2_module_desc *module_desc);
00159 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171 
00172     axis2_phase_resolver_engage_module_to_svc(
00173         axis2_phase_resolver_t * phase_resolver,
00174         const axutil_env_t * env,
00175         struct axis2_svc *svc,
00176         struct axis2_module_desc *module_desc);
00177 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189 
00190     axis2_phase_resolver_disengage_module_from_svc(
00191         axis2_phase_resolver_t * phase_resolver,
00192         const axutil_env_t * env,
00193         struct axis2_svc *svc,
00194         struct axis2_module_desc *module_desc);
00195 
00204     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00205 
00206     axis2_phase_resolver_engage_module_to_op(
00207         axis2_phase_resolver_t * phase_resolver,
00208         const axutil_env_t * env,
00209         struct axis2_op *axis_op,
00210         struct axis2_module_desc *module_desc);
00211 
00220     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00221 
00222     axis2_phase_resolver_disengage_module_from_op(
00223         axis2_phase_resolver_t * phase_resolver,
00224         const axutil_env_t * env,
00225         struct axis2_op *axis_op,
00226         struct axis2_module_desc *module_desc);
00227 
00233     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00234 
00235     axis2_phase_resolver_create(
00236         const axutil_env_t * env);
00237 
00245     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00246 
00247     axis2_phase_resolver_create_with_config(
00248         const axutil_env_t * env,
00249         struct axis2_conf *axis2_config);
00250 
00260     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00261 
00262     axis2_phase_resolver_create_with_config_and_svc(
00263         const axutil_env_t * env,
00264         struct axis2_conf *axis2_config,
00265         struct axis2_svc *svc);
00266 
00269 #ifdef __cplusplus
00270 }
00271 #endif
00272 #endif                          /* AXIS2_PHASE_RESOLVER_H */

Generated on Tue Jan 8 01:23:16 2008 for Axis2/C by  doxygen 1.5.1