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