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