# 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 */