00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_DOCUMENTATION_H
00019 #define XML_SCHEMA_DOCUMENTATION_H
00020
00029 #include <xml_schema_defines.h>
00030 #include <xml_schema_obj.h>
00031 #include <axis2_hash.h>
00032 #include <axiom.h>
00033
00039 typedef struct xml_schema_documentation
00040 xml_schema_documentation_t;
00041 typedef struct xml_schema_documentation_ops
00042 xml_schema_documentation_ops_t;
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00049 struct xml_schema_documentation_ops
00050 {
00055 axis2_status_t (AXIS2_CALL *
00056 free) (
00057 void *documentation,
00058 const axis2_env_t *env);
00059
00060 axis2_hash_t *(AXIS2_CALL *
00061 super_objs) (
00062 void *documentation,
00063 const axis2_env_t *env);
00064
00065 xml_schema_types_t (AXIS2_CALL *
00066 get_type) (
00067 void *documentation,
00068 const axis2_env_t *env);
00069
00070 xml_schema_obj_t *(AXIS2_CALL *
00071 get_base_impl) (void *documentation,
00072 const axis2_env_t *env);
00073
00074 axis2_char_t *(AXIS2_CALL *
00075 get_source)(void *documentation,
00076 const axis2_env_t *env);
00077
00078 axis2_status_t (AXIS2_CALL *
00079 set_source) (void *documentation,
00080 const axis2_env_t *env,
00081 axis2_char_t *source);
00082
00083 axiom_child_element_iterator_t *(AXIS2_CALL *
00084 get_markup) (void *documentation,
00085 const axis2_env_t *env);
00086
00087 axis2_status_t (AXIS2_CALL *
00088 set_markup) (void *documentation,
00089 const axis2_env_t *env,
00090 axiom_child_element_iterator_t *markup);
00091
00092 axis2_char_t *(AXIS2_CALL *
00093 get_language)(
00094 void *documentation,
00095 const axis2_env_t *env);
00096
00097 axis2_status_t (AXIS2_CALL *
00098 set_language)(
00099 void *documentation,
00100 const axis2_env_t *env,
00101 axis2_char_t *language);
00102 };
00103
00104 struct xml_schema_documentation
00105 {
00106 xml_schema_obj_t base;
00107 xml_schema_documentation_ops_t *ops;
00108 };
00109
00110 AXIS2_EXTERN xml_schema_documentation_t * AXIS2_CALL
00111 xml_schema_documentation_create(const axis2_env_t *env);
00112
00113
00114
00115
00116 #define XML_SCHEMA_DOCUMENTATION_FREE(documentation, env) \
00117 (((xml_schema_documentation_t *) documentation)->ops->\
00118 free(documentation, env))
00119
00120 #define XML_SCHEMA_DOCUMENTATION_SUPER_OBJS(documentation, env) \
00121 (((xml_schema_documentation_t *) documentation)->ops->\
00122 super_objs(documentation, env))
00123
00124 #define XML_SCHEMA_DOCUMENTATION_GET_TYPE(documentation, env) \
00125 (((xml_schema_documentation_t *) documentation)->ops->\
00126 GET_type(documentation, env))
00127
00128 #define XML_SCHEMA_DOCUMENTATION_GET_SOURCE(documentation, env) \
00129 (((xml_schema_documentation_t *) documentation)->ops->\
00130 get_source(documentation, env))
00131
00132 #define XML_SCHEMA_DOCUMENTATION_SET_SOURCE(documentation, env, source) \
00133 (((xml_schema_documentation_t *) documentation)->ops->\
00134 set_source(documentation, env, source))
00135
00136 #define XML_SCHEMA_DOCUMENTATION_GET_MARKUP(documentation, env) \
00137 (((xml_schema_documentation_t *) documentation)->ops->\
00138 get_markup(documentation, env))
00139
00140 #define XML_SCHEMA_DOCUMENTATION_SET_MARKUP(documentation, env, markup) \
00141 (((xml_schema_documentation_t *) documentation)->ops->\
00142 set_markup(documentation, env, markup))
00143
00144
00145 #define XML_SCHEMA_DOCUMENTATION_GET_LANGUAGE(documentation, env) \
00146 (((xml_schema_documentation_t*) documentation)->ops->\
00147 get_language(documentation, env))
00148
00149 #define XML_SCHEMA_DOCUMENTATION_SET_LANGUAGE(documentation, env, language)\
00150 (((xml_schema_documentation_t *) documentation)->ops->\
00151 set_language(documentation, env, language))
00152
00153
00155 #ifdef __cplusplus
00156 }
00157 #endif
00158 #endif