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
00037 typedef struct xml_schema_app_info xml_schema_app_info_t;
00038 typedef struct xml_schema_app_info_ops xml_schema_app_info_ops_t;
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00045 struct xml_schema_app_info_ops
00046 {
00051 axis2_status_t (AXIS2_CALL *
00052 free) (
00053 void *app_info,
00054 const axis2_env_t *env);
00055
00056 axis2_hash_t *(AXIS2_CALL *
00057 super_objs) (
00058 void *app_info,
00059 const axis2_env_t *env);
00060
00061 xml_schema_types_t (AXIS2_CALL *
00062 get_type) (
00063 void *app_info,
00064 const axis2_env_t *env);
00065
00066 xml_schema_obj_t *(AXIS2_CALL *
00067 get_base_impl) (void *app_info,
00068 const axis2_env_t *env);
00069
00070 axis2_char_t *(AXIS2_CALL *
00071 get_source)(void *app_info,
00072 const axis2_env_t *env);
00073
00074 axis2_status_t (AXIS2_CALL *
00075 set_source) (void *app_info,
00076 const axis2_env_t *env,
00077 axis2_char_t *source);
00078
00079
00080 void *(AXIS2_CALL *
00081 get_markup) (void *app_info,
00082 const axis2_env_t *env);
00083
00084
00085 axis2_status_t (AXIS2_CALL *
00086 set_markup) (void *app_info,
00087 const axis2_env_t *env,
00088 void *markup);
00089
00090 };
00091
00092 struct xml_schema_app_info
00093 {
00094 xml_schema_obj_t base;
00095 xml_schema_app_info_ops_t *ops;
00096 };
00097
00098 AXIS2_EXTERN xml_schema_app_info_t * AXIS2_CALL
00099 xml_schema_app_info_create(const axis2_env_t *env);
00100
00101
00102
00103
00104 #define XML_SCHEMA_APP_INFO_FREE(app_info, env) \
00105 (((xml_schema_app_info_t *) app_info)->ops->\
00106 free(app_info, env))
00107
00108 #define XML_SCHEMA_APP_INFO_SUPER_OBJS(app_info, env) \
00109 (((xml_schema_app_info_t *) app_info)->ops->\
00110 super_objs(app_info, env))
00111
00112 #define XML_SCHEMA_APP_INFO_GET_TYPE(app_info, env) \
00113 (((xml_schema_app_info_t *) app_info)->ops->\
00114 get_type(app_info, env))
00115
00116 #define XML_SCHEMA_APP_INFO_GET_SOURCE(app_info, env) \
00117 (((xml_schema_app_info_t *) app_info)->ops->\
00118 get_source(app_info, env))
00119
00120 #define XML_SCHEMA_APP_INFO_SET_SOURCE(app_info, env, source) \
00121 (((xml_schema_app_info_t *) app_info)->ops->\
00122 set_source(app_info, env, source))
00123
00124 #define XML_SCHEMA_APP_INFO_GET_MARKUP(app_info, env) \
00125 (((xml_schema_app_info_t *) app_info)->ops->\
00126 get_markup(app_info, env))
00127
00128 #define XML_SCHEMA_APP_INFO_SET_MARKUP(app_info, env, markup) \
00129 (((xml_schema_app_info_t *) app_info)->ops->\
00130 set_markup(app_info, env, markup))
00131
00132
00134 #ifdef __cplusplus
00135 }
00136 #endif
00137 #endif