axis2_phase.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_PHASE_H
00019 #define AXIS2_PHASE_H
00020 
00038 #include <axis2_defines.h>
00039 #include <axutil_env.h>
00040 #include <axis2_handler.h>
00041 #include <axis2_handler_desc.h>
00042 #include <axutil_array_list.h>
00043 #include <axutil_qname.h>
00044 
00049 #define AXIS2_PHASE_BOTH_BEFORE_AFTER  0
00050 
00055 #define AXIS2_PHASE_BEFORE  1
00056 
00061 #define AXIS2_PHASE_AFTER  2
00062 
00067 #define AXIS2_PHASE_ANYWHERE  3
00068 
00069 #ifdef __cplusplus
00070 extern "C"
00071 {
00072 #endif
00073 
00075     typedef struct axis2_phase axis2_phase_t;
00076         
00077     struct axis2_msg_ctx;
00078 
00088     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089     axis2_phase_add_handler_at(axis2_phase_t *phase,
00090         const axutil_env_t *env,
00091         const int index,
00092         axis2_handler_t *handler);
00093     
00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103     axis2_phase_add_handler(axis2_phase_t *phase,
00104         const axutil_env_t *env,
00105         axis2_handler_t *handler);
00106 
00107 
00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117     axis2_phase_remove_handler(axis2_phase_t *phase,
00118         const axutil_env_t *env,
00119         axis2_handler_t *handler);
00120                 
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     axis2_phase_invoke(axis2_phase_t *phase,
00132         const axutil_env_t *env,
00133         struct axis2_msg_ctx *msg_ctx);
00134 
00141     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00142     axis2_phase_get_name(const axis2_phase_t *phase,
00143         const axutil_env_t *env);
00144 
00151     AXIS2_EXTERN int AXIS2_CALL
00152     axis2_phase_get_handler_count(const axis2_phase_t *phase,
00153         const axutil_env_t *env);
00154 
00163     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164     axis2_phase_set_first_handler(axis2_phase_t *phase,
00165         const axutil_env_t *env,
00166         axis2_handler_t *handler);
00167                 
00176     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177     axis2_phase_set_last_handler(axis2_phase_t *phase,
00178         const axutil_env_t *env,
00179         axis2_handler_t *handler);
00180                 
00191     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00192     axis2_phase_add_handler_desc(axis2_phase_t *phase,
00193         const axutil_env_t *env,
00194         axis2_handler_desc_t *handler_desc);
00195 
00196 
00207     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208     axis2_phase_remove_handler_desc(axis2_phase_t *phase,
00209         const axutil_env_t *env,
00210         axis2_handler_desc_t *handler_desc);
00211                 
00224     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00225     axis2_phase_insert_before(axis2_phase_t *phase,
00226         const axutil_env_t *env,
00227         axis2_handler_t *handler);
00228 
00241     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00242     axis2_phase_insert_after(axis2_phase_t *phase,
00243         const axutil_env_t *env,
00244         axis2_handler_t *handler);
00245 
00258     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00259     axis2_phase_insert_before_and_after(axis2_phase_t *phase,
00260         const axutil_env_t *env,
00261         axis2_handler_t *handler);
00262 
00273     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00274     axis2_phase_insert_handler_desc(axis2_phase_t *phase,
00275         const axutil_env_t *env,
00276         axis2_handler_desc_t *handler_desc);
00277 
00284     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00285     axis2_phase_get_all_handlers(const axis2_phase_t *phase,
00286         const axutil_env_t *env);
00287 
00297     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00298     axis2_phase_invoke_start_from_handler(axis2_phase_t *phase,
00299         const axutil_env_t *env,
00300         const int paused_handler_index,
00301         struct axis2_msg_ctx *msg_ctx);
00302 
00309     AXIS2_EXTERN void AXIS2_CALL
00310     axis2_phase_free(axis2_phase_t *phase,
00311         const axutil_env_t *env);
00312 
00319     AXIS2_EXTERN axis2_phase_t *AXIS2_CALL
00320     axis2_phase_create(const axutil_env_t *env,
00321             const axis2_char_t *phase_name);
00322 
00323 #ifdef __cplusplus
00324 }
00325 #endif
00326 
00327 #endif    /* AXIS2_PHASE_H */

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6