00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_H
00018 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_H
00019
00024 #include <xml_schema_annotated.h>
00025 #include <xml_schema_obj_collection.h>
00026 #include <xml_schema_any_attribute.h>
00027 #include <xml_schema_particle.h>
00028 #include <axis2_hash.h>
00029 #include <axis2_qname.h>
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 typedef struct xml_schema_complex_content_extension
00040 xml_schema_complex_content_extension_t;
00041
00042 typedef struct xml_schema_complex_content_extension_ops
00043 xml_schema_complex_content_extension_ops_t;
00044
00045 struct xml_schema_complex_content_extension_ops
00046 {
00047 axis2_status_t (AXIS2_CALL *
00048 free)(void *cmp_content_ext,
00049 const axis2_env_t *env);
00050
00051 xml_schema_annotated_t *(AXIS2_CALL *
00052 get_base_impl) (
00053 void *cmp_content_ext,
00054 const axis2_env_t *env);
00055
00056 xml_schema_types_t (AXIS2_CALL *
00057 get_type) (
00058 void *cmp_content_ext,
00059 const axis2_env_t *env);
00060
00061 axis2_hash_t* (AXIS2_CALL *
00062 super_objs)(
00063 void *cmp_content_ext,
00064 const axis2_env_t *env);
00065
00066 xml_schema_any_attribute_t* (AXIS2_CALL *
00067 get_any_attribute)(
00068 void *cmp_content_ext,
00069 const axis2_env_t *env);
00070
00071 axis2_status_t (AXIS2_CALL *
00072 set_any_attribute)(
00073 void *cmp_content_ext,
00074 const axis2_env_t *env,
00075 xml_schema_any_attribute_t *any_attr);
00076
00077 xml_schema_obj_collection_t* (AXIS2_CALL *
00078 get_attributes)(
00079 void *cmp_content_ext,
00080 const axis2_env_t *env);
00081
00082 axis2_qname_t* (AXIS2_CALL*
00083 get_base_type_name)(
00084 void *cmp_content_ext,
00085 const axis2_env_t *env);
00086
00087 axis2_status_t (AXIS2_CALL *
00088 set_base_type_name)(
00089 void *cmp_content_ext,
00090 const axis2_env_t *env,
00091 axis2_qname_t *qname);
00092
00093 xml_schema_particle_t* (AXIS2_CALL *
00094 get_particle)(
00095 void *cmp_content_ext,
00096 const axis2_env_t *env);
00097
00098 axis2_status_t (AXIS2_CALL *
00099 set_particle)(
00100 void *cmp_content_ext,
00101 const axis2_env_t *env,
00102 xml_schema_particle_t *particle);
00103
00104 axis2_char_t* (AXIS2_CALL *
00105 to_string)(
00106 void *cmp_content_ext,
00107 const axis2_env_t *env,
00108 axis2_char_t *prefix,
00109 int tab);
00110
00111 };
00112
00113 struct xml_schema_complex_content_extension
00114 {
00115 xml_schema_annotated_t base;
00116 xml_schema_complex_content_extension_ops_t *ops;
00117 };
00118
00122 AXIS2_EXTERN xml_schema_complex_content_extension_t * AXIS2_CALL
00123 xml_schema_complex_content_extension_create(const axis2_env_t *env);
00124
00125 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_FREE(cmp_content_ext, env) \
00126 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->free(cmp_content_ext, env))
00127
00128 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_BASE_IMPL(cmp_content_ext, env) \
00129 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->\
00130 get_base_impl(cmp_content_ext, env))
00131
00132 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_TYPE(cmp_content_ext, env) \
00133 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->\
00134 get_type(cmp_content_ext, env))
00135
00136 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_SUPER_OBJS(cmp_content_ext, env) \
00137 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->\
00138 super_objs(cmp_content_ext, env))
00139
00140
00141 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_ANY_ATTRIBUTE(cmp_content_ext, env) \
00142 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->get_any_attribute(cmp_content_ext, env))
00143
00144 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_SET_ANY_ATTRIBUTE(cmp_content_ext, \
00145 env, any_attr)\
00146 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->\
00147 set_any_attribute(cmp_content_ext, env, any_attr ))
00148
00149 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_ATTRIBUTES(cmp_content_ext, env) \
00150 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->get_attributes(cmp_content_ext, env))
00151
00152 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_BASE_TYPE_NAME(cmp_content_ext, env)\
00153 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->get_base_type_name(cmp_content_ext, env))
00154
00155 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_SET_BASE_TYPE_NAME(cmp_content_ext,\
00156 env, base_type_name) \
00157 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->set_base_type_name(cmp_content_ext, env, base_type_name))
00158
00159 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_GET_PARTICLE(cmp_content_ext, env) \
00160 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->get_particle(cmp_content_ext, env))
00161
00162 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_SET_PARTICLE(cmp_content_ext, env, particle) \
00163 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->set_particle(cmp_content_ext, env, particle))
00164
00165 #define XML_SCHEMA_COMPLEX_CONTENT_EXTENSION_TO_STRING(cmp_content_ext, env, prefix, tab) \
00166 (((xml_schema_complex_content_extension_t *)cmp_content_ext)->ops->to_string(cmp_content_ext, env, prefix, tab))
00167
00168 #ifdef __cplusplus
00169 }
00170 #endif
00171 #endif