00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_SIMPLE_TYPE_CONTENT_H
00019 #define XML_SCHEMA_SIMPLE_TYPE_CONTENT_H
00020
00027 #include <xml_schema_annotated.h>
00028 #include <axis2_hash.h>
00029
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 typedef struct xml_schema_simple_type_content
00040 xml_schema_simple_type_content_t;
00041 typedef struct xml_schema_simple_type_content_ops
00042 xml_schema_simple_type_content_ops_t;
00043
00044
00045 struct xml_schema_simple_type_content_ops
00046 {
00051 axis2_status_t (AXIS2_CALL *
00052 free) (void *sim_type_cont,
00053 const axis2_env_t *env);
00054
00055 xml_schema_annotated_t *(AXIS2_CALL *
00056 get_base_impl) (void *sim_type_cont,
00057 const axis2_env_t *env);
00058
00059 xml_schema_types_t (AXIS2_CALL *
00060 get_type)(void *sim_type_cont,
00061 const axis2_env_t *env);
00062
00063 axis2_hash_t* (AXIS2_CALL *
00064 super_objs)(void *sim_type_cont,
00065 const axis2_env_t *env);
00066
00067 };
00068
00069 struct xml_schema_simple_type_content
00070 {
00071 xml_schema_annotated_t base;
00072 xml_schema_simple_type_content_ops_t *ops;
00073 };
00074
00083 AXIS2_EXTERN xml_schema_simple_type_content_t * AXIS2_CALL
00084 xml_schema_simple_type_content_create(const axis2_env_t *env);
00085
00089 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090 xml_schema_simple_type_content_resolve_methods(
00091 xml_schema_simple_type_content_t *sim_type_cont,
00092 const axis2_env_t *env,
00093 xml_schema_simple_type_content_t *sim_type_cont_impl,
00094 XML_SCHEMA_SUPER_OBJS_FN super_objs,
00095 XML_SCHEMA_GET_TYPE_FN get_type,
00096 XML_SCHEMA_FREE_FN free_fn);
00097
00098
00099 #define XML_SCHEMA_SIMPLE_TYPE_CONTENT_FREE(sim_type_cont, env) \
00100 (((xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
00101 free(sim_type_cont, env))
00102
00103 #define XML_SCHEMA_SIMPLE_TYPE_CONTENT_GET_BASE_IMPL(sim_type_cont, env) \
00104 (((xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
00105 get_base_impl(sim_type_cont, env))
00106
00107 #define XML_SCHEMA_SIMPLE_TYPE_CONTENT_GET_TYPE(sim_type_cont, env) \
00108 (((xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
00109 get_type(sim_type_cont, env))
00110
00111 #define XML_SCHEMA_SIMPLE_TYPE_CONTENT_SUPER_OBJS(sim_type_cont, env) \
00112 (((xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
00113 super_objs(sim_type_cont, env))
00114
00115
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120 #endif