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