00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_APP_INFO_H
00018 #define XML_SCHEMA_APP_INFO_H
00019
00028 #include <xml_schema_defines.h>
00029 #include <xml_schema_obj.h>
00030 #include <axis2_hash.h>
00031
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043
00044 typedef struct xml_schema_app_info xml_schema_app_info_t;
00045 typedef struct xml_schema_app_info_ops xml_schema_app_info_ops_t;
00046
00047 struct xml_schema_app_info_ops
00048 {
00053 axis2_status_t (AXIS2_CALL *
00054 free) (
00055 void *app_info,
00056 const axis2_env_t *env);
00057
00058 axis2_hash_t *(AXIS2_CALL *
00059 super_objs) (
00060 void *app_info,
00061 const axis2_env_t *env);
00062
00063 xml_schema_types_t (AXIS2_CALL *
00064 get_type) (
00065 void *app_info,
00066 const axis2_env_t *env);
00067
00068 xml_schema_obj_t *(AXIS2_CALL *
00069 get_base_impl) (void *app_info,
00070 const axis2_env_t *env);
00071
00072 axis2_char_t *(AXIS2_CALL *
00073 get_source)(void *app_info,
00074 const axis2_env_t *env);
00075
00076 axis2_status_t (AXIS2_CALL *
00077 set_source) (void *app_info,
00078 const axis2_env_t *env,
00079 axis2_char_t *source);
00080
00081
00082 void *(AXIS2_CALL *
00083 get_markup) (void *app_info,
00084 const axis2_env_t *env);
00085
00086
00087 axis2_status_t (AXIS2_CALL *
00088 set_markup) (void *app_info,
00089 const axis2_env_t *env,
00090 void *markup);
00091
00092 };
00093
00094 struct xml_schema_app_info
00095 {
00096 xml_schema_obj_t base;
00097 xml_schema_app_info_ops_t *ops;
00098 };
00099
00100 AXIS2_EXTERN xml_schema_app_info_t * AXIS2_CALL
00101 xml_schema_app_info_create(const axis2_env_t *env);
00102
00103
00104
00105
00106 #define XML_SCHEMA_APP_INFO_FREE(app_info, env) \
00107 (((xml_schema_app_info_t *) app_info)->ops->\
00108 free(app_info, env))
00109
00110 #define XML_SCHEMA_APP_INFO_SUPER_OBJS(app_info, env) \
00111 (((xml_schema_app_info_t *) app_info)->ops->\
00112 super_objs(app_info, env))
00113
00114 #define XML_SCHEMA_APP_INFO_GET_TYPE(app_info, env) \
00115 (((xml_schema_app_info_t *) app_info)->ops->\
00116 get_type(app_info, env))
00117
00118 #define XML_SCHEMA_APP_INFO_GET_SOURCE(app_info, env) \
00119 (((xml_schema_app_info_t *) app_info)->ops->\
00120 get_source(app_info, env))
00121
00122 #define XML_SCHEMA_APP_INFO_SET_SOURCE(app_info, env, source) \
00123 (((xml_schema_app_info_t *) app_info)->ops->\
00124 set_source(app_info, env, source))
00125
00126 #define XML_SCHEMA_APP_INFO_GET_MARKUP(app_info, env) \
00127 (((xml_schema_app_info_t *) app_info)->ops->\
00128 get_markup(app_info, env))
00129
00130 #define XML_SCHEMA_APP_INFO_SET_MARKUP(app_info, env, markup) \
00131 (((xml_schema_app_info_t *) app_info)->ops->\
00132 set_markup(app_info, env, markup))
00133
00134
00136 #ifdef __cplusplus
00137 }
00138 #endif
00139 #endif