00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_ATTRIBUTE_GROUP_REF_H
00019 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_H
00020
00029 #include <axis2_qname.h>
00030 #include <xml_schema_particle.h>
00031 #include <xml_schema_obj_collection.h>
00032 #include <xml_schema_any_attribute.h>
00033 #include <xml_schema_content_processing.h>
00034 #include <xml_schema_simple_type.h>
00035
00036
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047
00048
00049 typedef struct xml_schema_attribute_group_ref
00050 xml_schema_attribute_group_ref_t;
00051 typedef struct xml_schema_attribute_group_ref_ops
00052 xml_schema_attribute_group_ref_ops_t;
00053
00054 struct xml_schema_attribute_group_ref_ops
00055 {
00056 axis2_status_t (AXIS2_CALL *
00057 free) (
00058 void *grp_ref,
00059 const axis2_env_t *env);
00060
00061 xml_schema_types_t (AXIS2_CALL *
00062 get_type)(
00063 void *grp_ref,
00064 const axis2_env_t *env);
00065
00066 axis2_hash_t* (AXIS2_CALL *
00067 super_objs)(
00068 void *grp_ref,
00069 const axis2_env_t *env);
00070
00071
00072 xml_schema_annotated_t *(AXIS2_CALL *
00073 get_base_impl)(
00074 void *grp_ref,
00075 const axis2_env_t *env);
00076
00077
00078 axis2_qname_t* (AXIS2_CALL *
00079 get_ref_qname)(void *grp_ref,
00080 const axis2_env_t *env);
00081
00082 axis2_status_t (AXIS2_CALL *
00083 set_ref_qname)(void *grp_ref,
00084 const axis2_env_t *env,
00085 axis2_qname_t *ref_name);
00086
00087 };
00088
00089 struct xml_schema_attribute_group_ref
00090 {
00091 xml_schema_annotated_t base;
00092 xml_schema_attribute_group_ref_ops_t *ops;
00093 };
00094
00095 AXIS2_EXTERN xml_schema_attribute_group_ref_t * AXIS2_CALL
00096 xml_schema_attribute_group_ref_create(const axis2_env_t *env);
00097
00098
00099
00100 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_FREE(grp_ref, env) \
00101 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->free(grp_ref, env))
00102
00103 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_GET_BASE_IMPL(grp_ref, env) \
00104 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->get_base_impl(grp_ref, env))
00105
00106 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_GET_TYPE(grp_ref, env) \
00107 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->get_type(grp_ref, env))
00108
00109 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_SUPER_OBJS(grp_ref, env) \
00110 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->super_objs(grp_ref, env))
00111
00112
00113 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_GET_REF_QNAME(grp_ref, env) \
00114 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->\
00115 get_ref_qname(grp_ref, env))
00116
00117 #define XML_SCHEMA_ATTRIBUTE_GROUP_REF_SET_REF_QNAME(grp_ref, env, ref_qname) \
00118 (((xml_schema_attribute_group_ref_t *) grp_ref)->ops->\
00119 set_ref_qname(grp_ref, env, ref_qname))
00120
00121
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126 #endif