00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_SIMPLE_TYPE_UNION_H
00018 #define XML_SCHEMA_SIMPLE_TYPE_UNION_H
00019
00027 #include <xml_schema_simple_type.h>
00028 #include <xml_schema_simple_type_content.h>
00029 #include <xml_schema_obj_collection.h>
00030 #include <axis2_hash.h>
00031 #include <axis2_array_list.h>
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040
00041 typedef struct xml_schema_simple_type_union
00042 xml_schema_simple_type_union_t;
00043 typedef struct xml_schema_simple_type_union_ops
00044 xml_schema_simple_type_union_ops_t;
00045
00046 struct xml_schema_simple_type_union_ops
00047 {
00048 axis2_status_t (AXIS2_CALL *
00049 free)(void *sim_type_union, const axis2_env_t *env);
00050
00051 xml_schema_simple_type_content_t *(AXIS2_CALL *
00052 get_base_impl)(
00053 void *sim_type_union,
00054 const axis2_env_t *env);
00055
00056 axis2_hash_t*(AXIS2_CALL *
00057 super_objs)(
00058 void *sim_type_union,
00059 const axis2_env_t *env);
00060
00061 xml_schema_types_t (AXIS2_CALL *
00062 get_type)(
00063 void *sim_type_union,
00064 const axis2_env_t *env);
00065
00066 xml_schema_obj_collection_t*(AXIS2_CALL *
00067 get_base_types)(
00068 void *sim_type_union,
00069 const axis2_env_t *env);
00070
00071 axis2_status_t (AXIS2_CALL *
00072 set_member_types_source)(
00073 void *sim_type_union,
00074 const axis2_env_t *env,
00075 axis2_char_t *member_types_source);
00076
00077 axis2_char_t* (AXIS2_CALL *
00078 get_member_types_source)(
00079 void *sim_type_union,
00080 const axis2_env_t *env);
00081
00082 axis2_array_list_t* (AXIS2_CALL *
00083 get_member_types_qnames)(
00084 void *sim_type_union,
00085 const axis2_env_t *env);
00086
00087 axis2_status_t (AXIS2_CALL *
00088 set_member_types_qnames)(
00089 void *sim_type_union,
00090 const axis2_env_t *env,
00091 axis2_array_list_t *qns);
00092
00093 };
00094
00095 struct xml_schema_simple_type_union
00096 {
00097 xml_schema_simple_type_content_t base;
00098 xml_schema_simple_type_union_ops_t *ops;
00099 };
00100
00109 AXIS2_EXTERN xml_schema_simple_type_union_t * AXIS2_CALL
00110 xml_schema_simple_type_union_create(const axis2_env_t *env);
00111
00112 #define XML_SCHEMA_SIMPLE_TYPE_UNION_FREE(sim_type_union, env) \
00113 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00114 free(sim_type_union, env))
00115
00116 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_IMPL(sim_type_union, env) \
00117 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00118 get_base_impl(sim_type_union, env))
00119
00120 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SUPER_OBJS(sim_type_union, env) \
00121 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00122 super_objs(sim_type_union, env))
00123
00124 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_TYPE(sim_type_union, env) \
00125 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00126 get_type(sim_type_union, env))
00127
00128 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_TYPES(sim_type_union, env) \
00129 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00130 get_base_types(sim_type_union, env))
00131
00132 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_SOURCE(sim_type_union,\
00133 env, member_types_sources) \
00134 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00135 set_member_types_source(sim_type_union, env, member_types_sources))
00136
00137 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_MEMBER_TYPES_SOURCE(sim_type_union, env) \
00138 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00139 get_member_types_source(sim_type_union, env))
00140
00141 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_QNAMES(sim_type_union, env, qns) \
00142 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00143 set_member_types_qnames(sim_type_union, env, qns))
00144
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149 #endif