Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axis2_phase_rule.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef AXIS2_PHASE_RULE_H
00018 #define AXIS2_PHASE_RULE_H
00019 
00025 #include <axis2_defines.h>
00026 #include <axis2_qname.h>
00027 #include <axis2_param.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     struct axis2_phase_rule;
00035     struct axis2_phase_rule_ops;
00036     
00046  AXIS2_DECLARE_DATA   typedef struct axis2_phase_rule_ops
00047     {        
00048         axis2_char_t* (AXIS2_CALL *
00049       get_before) (struct axis2_phase_rule *phase_rule, 
00050                      const axis2_env_t *env);
00051       
00052         axis2_status_t (AXIS2_CALL *
00053       set_before) (struct axis2_phase_rule *phase_rule, 
00054                      const axis2_env_t *env, 
00055                 const axis2_char_t *before);
00056       
00057         axis2_char_t* (AXIS2_CALL *
00058       get_after) (struct axis2_phase_rule * phase_rule, 
00059                     const axis2_env_t *env);
00060       
00061         axis2_status_t (AXIS2_CALL *
00062       set_after) (struct axis2_phase_rule * phase_rule, 
00063                     const axis2_env_t *env, 
00064                const axis2_char_t *after);
00065       
00066         axis2_char_t* (AXIS2_CALL *
00067       get_name) (struct axis2_phase_rule * phase_rule, 
00068                    const axis2_env_t *env);
00069       
00070         axis2_status_t (AXIS2_CALL *
00071       set_name) (struct axis2_phase_rule * phase_rule, 
00072                    const axis2_env_t *env, 
00073                const axis2_char_t *name);
00074       
00075         axis2_bool_t (AXIS2_CALL *
00076       is_phase_first) (struct axis2_phase_rule * phase_rule, 
00077                          const axis2_env_t *env);
00078       
00079         axis2_status_t (AXIS2_CALL *
00080       set_phase_first) (struct axis2_phase_rule * phase_rule, 
00081                           const axis2_env_t *env, 
00082                     axis2_bool_t phae_first);
00083       
00084         axis2_bool_t (AXIS2_CALL *
00085       is_phase_last) (struct axis2_phase_rule * phase_rule, 
00086                         const axis2_env_t *env);
00087       
00088         axis2_status_t (AXIS2_CALL *
00089       set_phase_last) (struct axis2_phase_rule * phase_rule, 
00090                          const axis2_env_t *env, 
00091                    axis2_bool_t phae_last);
00092 
00093         axis2_status_t (AXIS2_CALL *
00094       free) (struct axis2_phase_rule *phase_rule, 
00095                const axis2_env_t *env);
00096       
00097         struct axis2_phase_rule* (AXIS2_CALL *
00098       clone) (struct axis2_phase_rule *phase_rule, 
00099                 const axis2_env_t *env);
00100       
00101     } axis2_phase_rule_ops_t;
00102    
00106     typedef struct axis2_phase_rule
00107     {
00109         axis2_phase_rule_ops_t *ops;
00110     } axis2_phase_rule_t;
00111 
00112 
00116 AXIS2_EXTERN axis2_phase_rule_t* AXIS2_CALL 
00117 axis2_phase_rule_create(const axis2_env_t *env, 
00118                   const axis2_char_t *phase_name);
00119     
00120 #define AXIS2_PHASE_RULE_GET_BEFORE(phase_rule, env) \
00121       ((phase_rule)->ops->get_before(phase_rule, env))
00122    
00123 #define AXIS2_PHASE_RULE_SET_BEFORE(phase_rule, env, before) \
00124       ((phase_rule)->ops->set_before(phase_rule, env, before))
00125    
00126 #define AXIS2_PHASE_RULE_GET_AFTER(phase_rule, env) \
00127       ((phase_rule)->ops->get_after(phase_rule, env))
00128    
00129 #define AXIS2_PHASE_RULE_SET_AFTER(phase_rule, env, after) \
00130       ((phase_rule)->ops->set_after(phase_rule, env, after))
00131    
00132 #define AXIS2_PHASE_RULE_GET_NAME(phase_rule, env) \
00133       ((phase_rule)->ops->get_name(phase_rule, env))
00134       
00135 #define AXIS2_PHASE_RULE_SET_NAME(phase_rule, env, name)\
00136       ((phase_rule)->ops->set_name(phase_rule, env, name))
00137       
00138 #define AXIS2_PHASE_RULE_IS_PHASE_FIRST(phase_rule, env) \
00139       ((phase_rule)->ops->is_phase_first(phase_rule, env))
00140       
00141 #define AXIS2_PHASE_RULE_SET_PHASE_FIRST(phase_rule, env, phase_first) \
00142       ((phase_rule)->ops->set_phase_first(phase_rule, env, phase_first))
00143       
00144 #define AXIS2_PHASE_RULE_IS_PHASE_LAST(phase_rule, env) \
00145       ((phase_rule)->ops->is_phase_last(phase_rule, env))
00146       
00147 #define AXIS2_PHASE_RULE_SET_PHASE_LAST(phase_rule, env, phase_last) \
00148       ((phase_rule)->ops->set_phase_last(phase_rule, env, phase_last))
00149       
00150 #define AXIS2_PHASE_RULE_FREE(phase_rule, env) \
00151       ((phase_rule)->ops->free(phase_rule, env))
00152       
00153 #define AXIS2_PHASE_RULE_CLONE(phase_rule, env) \
00154       ((phase_rule)->ops->clone(phase_rule, env))
00155     
00158 #ifdef __cplusplus
00159 }
00160 #endif
00161 
00162 #endif    /* AXIS2_PHASE_RULE_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2