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