00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_SIMPLE_TYPE_LIST_H
00018 #define XML_SCHEMA_SIMPLE_TYPE_LIST_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>
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00040 typedef struct xml_schema_simple_type_list
00041 xml_schema_simple_type_list_t;
00042 typedef struct xml_schema_simple_type_list_ops
00043 xml_schema_simple_type_list_ops_t;
00044
00045 struct xml_schema_simple_type_list_ops
00046 {
00051 axis2_status_t (AXIS2_CALL *
00052 free) (void *simple_type_list,
00053 const axis2_env_t *env);
00054
00055 xml_schema_simple_type_content_t *(AXIS2_CALL *
00056 get_base_impl) (void *simple_type_list,
00057 const axis2_env_t *env);
00058
00059 xml_schema_types_t (AXIS2_CALL *
00060 get_type)(void *simple_type_list,
00061 const axis2_env_t *env);
00062
00063 axis2_hash_t* (AXIS2_CALL *
00064 super_objs)(void *simple_type_list,
00065 const axis2_env_t *env);
00066
00067
00068 xml_schema_simple_type_t *(AXIS2_CALL *
00069 get_item_type)(void *simple_type_list,
00070 const axis2_env_t *env);
00071
00073 axis2_status_t (AXIS2_CALL *
00074 set_item_type)(void *simple_type_list,
00075 const axis2_env_t *env,
00076 xml_schema_simple_type_t *base_type);
00077
00078 axis2_qname_t* (AXIS2_CALL *
00079 get_item_type_name)(void *simple_type_list,
00080 const axis2_env_t *env);
00081
00082 axis2_status_t (AXIS2_CALL *
00083 set_item_type_name)(void *simple_type_list,
00084 const axis2_env_t *env,
00085 axis2_qname_t *qname);
00086 };
00087
00088 struct xml_schema_simple_type_list
00089 {
00090 xml_schema_simple_type_content_t base;
00091 xml_schema_simple_type_list_ops_t *ops;
00092 };
00093
00102 AXIS2_EXTERN xml_schema_simple_type_list_t * AXIS2_CALL
00103 xml_schema_simple_type_list_create(const axis2_env_t *env);
00104
00105
00106
00107 #define XML_SCHEMA_SIMPLE_TYPE_LIST_FREE(simple_type_list, env) \
00108 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00109 free(simple_type_list, env))
00110
00111 #define XML_SCHEMA_SIMPLE_TYPE_LIST_GET_BASE_IMPL(simple_type_list, env) \
00112 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00113 get_base_impl(simple_type_list, env))
00114
00115 #define XML_SCHEMA_SIMPLE_TYPE_LIST_TYPE(simple_type_list, env) \
00116 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00117 get_type(simple_type_list, env))
00118
00119 #define XML_SCHEMA_SIMPLE_TYPE_LIST_SUPER_OBJS(simple_type_list, env) \
00120 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00121 super_objs(simple_type_list, env))
00122
00123 #define XML_SCHEMA_SIMPLE_TYPE_LIST_GET_ITEM_TYPE(simple_type_list, env) \
00124 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00125 get_item_type(simple_type_list, env))
00126
00127 #define XML_SCHEMA_SIMPLE_TYPE_LIST_SET_ITEM_TYPE(simple_type_list,\
00128 env, base_type) \
00129 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00130 set_item_type(simple_type_list, env, base_type))
00131
00132 #define XML_SCHEMA_SIMPLE_TYPE_LIST_GET_ITEM_TYPE_NAME(simple_type_list, env) \
00133 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00134 get_item_type_name(simple_type_list, env))
00135
00136 #define XML_SCHEMA_SIMPLE_TYPE_LIST_SET_ITEM_TYPE_NAME(simple_type_list, \
00137 env, base_type_name) \
00138 (((xml_schema_simple_type_list_t *) simple_type_list)->ops->\
00139 set_item_type_name(simple_type_list, env, base_type_name))
00140
00141
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146 #endif