00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_REDEFINE_H
00019 #define XML_SCHEMA_REDEFINE_H
00020
00027 #include <xml_schema_external.h>
00028 #include <axis2_hash.h>
00029 #include <xml_schema_obj_table.h>
00030 #include <xml_schema_obj_collection.h>
00031
00037 typedef struct xml_schema_redefine
00038 xml_schema_redefine_t;
00039 typedef struct xml_schema_redefine_ops
00040 xml_schema_redefine_ops_t;
00041
00042 struct xml_schema;
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00049 struct xml_schema_redefine_ops
00050 {
00051 axis2_status_t (AXIS2_CALL *
00052 free) (void *redefine,
00053 const axis2_env_t *env);
00054
00055 xml_schema_external_t* (AXIS2_CALL *
00056 get_base_impl)(void *redefine,
00057 const axis2_env_t *env);
00058
00059 axis2_hash_t* (AXIS2_CALL *
00060 super_objs)(void *redefine,
00061 const axis2_env_t *env);
00062
00063 xml_schema_types_t (AXIS2_CALL *
00064 get_type)(void *redefine,
00065 const axis2_env_t *env);
00066
00067 xml_schema_obj_table_t* (AXIS2_CALL *
00068 get_attribute_group)(void *redefine,
00069 const axis2_env_t *env);
00070
00071 axis2_status_t (AXIS2_CALL *
00072 set_attribute_group)(void *redefine,
00073 const axis2_env_t *env,
00074 xml_schema_obj_table_t *group);
00075
00076 xml_schema_obj_collection_t* (AXIS2_CALL *
00077 get_items)(void *redefine,
00078 const axis2_env_t *env);
00079
00080 xml_schema_obj_table_t* (AXIS2_CALL *
00081 get_schema_types)(void *redefine,
00082 const axis2_env_t *env);
00083
00084 xml_schema_obj_table_t* (AXIS2_CALL *
00085 get_group)(void *redefine,
00086 const axis2_env_t *env);
00087
00088 };
00089
00090 struct xml_schema_redefine
00091 {
00092 xml_schema_external_t base;
00093 xml_schema_redefine_ops_t *ops;
00094 };
00095
00099 AXIS2_EXTERN xml_schema_redefine_t * AXIS2_CALL
00100 xml_schema_redefine_create(const axis2_env_t *env);
00101
00102 #define XML_SCHEMA_REDEFINE_FREE(redefine, env) \
00103 (((xml_schema_redefine_t *) redefine)->ops->\
00104 free(redefine, env))
00105
00106 #define XML_SCHEMA_REDEFINE_GET_BASE_IMPL(redefine, env) \
00107 (((xml_schema_redefine_t *) redefine)->ops->\
00108 get_base_impl(redefine, env))
00109
00110 #define XML_SCHEMA_REDEFINE_GET_TYPE(redefine, env) \
00111 (((xml_schema_redefine_t *) redefine)->ops->\
00112 get_type(redefine, env))
00113
00114 #define XML_SCHEMA_REDEFINE_SUPER_OBJS(redefine, env) \
00115 (((xml_schema_redefine_t *) redefine)->ops->\
00116 super_objs(redefine, env))
00117
00118 #define XML_SCHEMA_REDEFINE_GET_ATTRIBUTE_GROUP(redefine, env) \
00119 (((xml_schema_redefine_t *) redefine)->ops->\
00120 get_attribute_group(redefine, env))
00121
00122 #define XML_SCHEMA_REDEFINE_SET_ATTRIBUTE_GROUP(redefine, env, group) \
00123 (((xml_schema_redefine_t *) redefine)->ops->\
00124 set_attribute_group(redefine, env, group))
00125
00126 #define XML_SCHEMA_REDEFINE_GET_ITEMS(redefine, env) \
00127 (((xml_schema_redefine_t *) redefine)->ops->\
00128 get_items(redefine, env))
00129
00130 #define XML_SCHEMA_REDEFINE_GET_GROUP(redefine, env) \
00131 (((xml_schema_redefine_t *) redefine)->ops->\
00132 get_group(redefine, env))
00133
00134 #define XML_SCHEMA_REDEFINE_GET_SCHEMA_TYPES(redefine, env) \
00135 (((xml_schema_redefine_t *) redefine)->ops->\
00136 get_schema_types(redefine, env))
00137
00138 #ifdef __cplusplus
00139 }
00140 #endif
00141 #endif