axis2_phase_holder.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_HOLDER_H
00020 #define AXIS2_PHASE_HOLDER_H
00021 
00035 #include <axis2_const.h>
00036 #include <axutil_error.h>
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axutil_allocator.h>
00040 #include <axutil_qname.h>
00041 #include <axutil_array_list.h>
00042 #include <axis2_handler_desc.h>
00043 #include <axis2_phase.h>
00044 #include <axis2_phase_rule.h>
00045 #include <axis2_handler.h>
00046 
00047 #ifdef __cplusplus
00048 extern "C"
00049 {
00050 #endif
00051 
00053     typedef struct axis2_phase_holder axis2_phase_holder_t;
00054 
00055     struct axis2_phase;
00056     struct axis2_handler_desc;
00057     struct axis2_handler;
00058     struct axis2_phase_rule;
00059 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axis2_phase_holder_free(
00068         axis2_phase_holder_t * phase_holder,
00069         const axutil_env_t * env);
00070 
00078     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00079     axis2_phase_holder_is_phase_exist(
00080         axis2_phase_holder_t * phase_holder,
00081         const axutil_env_t * env,
00082         const axis2_char_t * phase_name);
00083 
00091     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092     axis2_phase_holder_add_handler(
00093         axis2_phase_holder_t * phase_holder,
00094         const axutil_env_t * env,
00095         struct axis2_handler_desc *handler);
00096 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axis2_phase_holder_remove_handler(
00106         axis2_phase_holder_t * phase_holder,
00107         const axutil_env_t * env,
00108         struct axis2_handler_desc *handler);
00109 
00118     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00119                 axis2_phase_holder_get_phase(
00120                     const axis2_phase_holder_t * phase_holder,
00121                     const axutil_env_t * env,
00122                     const axis2_char_t * phase_name);
00123 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     axis2_phase_holder_build_transport_handler_chain(
00139         axis2_phase_holder_t * phase_holder,
00140         const axutil_env_t * env,
00141         struct axis2_phase *phase,
00142         axutil_array_list_t * handlers);
00143 
00149     AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00150     axis2_phase_holder_create(
00151         const axutil_env_t * env);
00152 
00159     AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00160 
00161     axis2_phase_holder_create_with_phases(
00162         const axutil_env_t * env,
00163         axutil_array_list_t * phases);
00164 
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 #endif                          /* AXIS2_PHASE_HOLDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3