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