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