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 
00045 #include <axis2_const.h>
00046 #include <axutil_error.h>
00047 #include <axis2_defines.h>
00048 #include <axutil_env.h>
00049 #include <axutil_allocator.h>
00050 #include <axutil_qname.h>
00051 #include <axutil_array_list.h>
00052 #include <axutil_hash.h>
00053 #include <axis2_handler_desc.h>
00054 #include <axis2_phase.h>
00055 #include <axis2_phase_rule.h>
00056 #include <axis2_handler.h>
00057 #include <axis2_handler_desc.h>
00058 #include <axis2_flow.h>
00059 #include <axis2_module_desc.h>
00060 #include <axis2_phase_holder.h>
00061 
00062 #ifdef __cplusplus
00063 extern "C"
00064 {
00065 #endif
00066 
00068     typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00069 
00070     struct axis2_phase;
00071     struct axis2_handler_desc;
00072     struct axis2_module_desc;
00073     struct axis2_handler;
00074     struct axis2_phase_rule;
00075     struct axis2_svc;
00076     struct axis2_conf;
00077     struct axis2_op;
00078     struct axis2_phase_holder;
00079 
00086     AXIS2_EXTERN void AXIS2_CALL
00087     axis2_phase_resolver_free(
00088         axis2_phase_resolver_t * phase_resolver,
00089         const axutil_env_t * env);
00090 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axis2_phase_resolver_build_chains(
00100         axis2_phase_resolver_t * phase_resolver,
00101         const axutil_env_t * env);
00102 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111 
00112     axis2_phase_resolver_build_module_op(
00113         axis2_phase_resolver_t * phase_resolver,
00114         const axutil_env_t * env,
00115         struct axis2_op *op);
00116 
00123     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00124 
00125     axis2_phase_resolver_build_transport_chains(
00126         axis2_phase_resolver_t * phase_resolver,
00127         const axutil_env_t * env);
00128 
00138     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00139 
00140     axis2_phase_resolver_engage_module_globally(
00141         axis2_phase_resolver_t * phase_resolver,
00142         const axutil_env_t * env,
00143         struct axis2_module_desc *module);
00144 
00158     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159 
00160     axis2_phase_resolver_engage_module_to_svc_from_global(
00161         axis2_phase_resolver_t * phase_resolver,
00162         const axutil_env_t * env,
00163         struct axis2_svc *svc,
00164         struct axis2_module_desc *module_desc);
00165 
00176     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177 
00178     axis2_phase_resolver_engage_module_to_svc(
00179         axis2_phase_resolver_t * phase_resolver,
00180         const axutil_env_t * env,
00181         struct axis2_svc *svc,
00182         struct axis2_module_desc *module_desc);
00183 
00194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195 
00196     axis2_phase_resolver_disengage_module_from_svc(
00197         axis2_phase_resolver_t * phase_resolver,
00198         const axutil_env_t * env,
00199         struct axis2_svc *svc,
00200         struct axis2_module_desc *module_desc);
00201 
00210     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00211 
00212     axis2_phase_resolver_engage_module_to_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 
00228     axis2_phase_resolver_disengage_module_from_op(
00229         axis2_phase_resolver_t * phase_resolver,
00230         const axutil_env_t * env,
00231         struct axis2_op *axis_op,
00232         struct axis2_module_desc *module_desc);
00233 
00239     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00240 
00241     axis2_phase_resolver_create(
00242         const axutil_env_t * env);
00243 
00251     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00252 
00253     axis2_phase_resolver_create_with_config(
00254         const axutil_env_t * env,
00255         struct axis2_conf *axis2_config);
00256 
00266     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00267 
00268     axis2_phase_resolver_create_with_config_and_svc(
00269         const axutil_env_t * env,
00270         struct axis2_conf *axis2_config,
00271         struct axis2_svc *svc);
00272 
00275 #ifdef __cplusplus
00276 }
00277 #endif
00278 #endif                          /* AXIS2_PHASE_RESOLVER_H */

Generated on Sat May 3 10:44:34 2008 for Axis2/C by  doxygen 1.5.5