00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_DISP_CHECKER_H
00018 #define AXIS2_DISP_CHECKER_H
00019
00025 #include <axis2_defines.h>
00026 #include <axis2_qname.h>
00027 #include <axis2_handler.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00034 struct axis2_disp_checker;
00035 struct axis2_disp_checker_ops;
00036
00046 AXIS2_DECLARE_DATA typedef struct axis2_disp_checker_ops
00047 {
00048 axis2_handler_t* (AXIS2_CALL *
00049 get_base) (struct axis2_disp_checker *disp_checker,
00050 const axis2_env_t *env);
00051
00052
00053 axis2_qname_t* (AXIS2_CALL *
00054 get_qname) (struct axis2_disp_checker *disp_checker,
00055 const axis2_env_t *env);
00056
00057 axis2_status_t (AXIS2_CALL *
00058 set_qname) (struct axis2_disp_checker *disp_checker,
00059 const axis2_env_t *env,
00060 axis2_qname_t *qname);
00061
00062 axis2_status_t (AXIS2_CALL *
00063 free) (struct axis2_disp_checker *disp_checker,
00064 const axis2_env_t *env);
00065
00066 } axis2_disp_checker_ops_t;
00067
00071 typedef struct axis2_disp_checker
00072 {
00074 axis2_disp_checker_ops_t *ops;
00075 } axis2_disp_checker_t;
00076
00077
00082 AXIS2_EXTERN axis2_disp_checker_t* AXIS2_CALL
00083 axis2_disp_checker_create(const axis2_env_t *env,
00084 axis2_qname_t *qname);
00085
00086 #define AXIS2_DISP_CHECKER_GET_BASE(disp_checker, env) \
00087 ((disp_checker)->ops->get_base(disp_checker, env))
00088
00089 #define AXIS2_DISP_CHECKER_GET_QNAME(disp_checker, env) \
00090 ((disp_checker)->ops->get_qname(disp_checker, env))
00091
00092 #define AXIS2_DISP_CHECKER_SET_QNAME(disp_checker, env, name) \
00093 ((disp_checker)->ops->set_qname(disp_checker, env, name))
00094
00095 #define AXIS2_DISP_CHECKER_FREE(disp_checker, env) \
00096 ((disp_checker)->ops->free(disp_checker, env))
00097
00098
00101 #ifdef __cplusplus
00102 }
00103 #endif
00104
00105 #endif