00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_ATTRIBUTE_GROUP_H
00018 #define XML_SCHEMA_ATTRIBUTE_GROUP_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
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047
00048 typedef struct xml_schema_attribute_group
00049 xml_schema_attribute_group_t;
00050 typedef struct xml_schema_attribute_group_ops
00051 xml_schema_attribute_group_ops_t;
00052
00053
00054 struct xml_schema_attribute_group_ops
00055 {
00056 axis2_status_t (AXIS2_CALL *
00057 free) (
00058 void *attr_grp,
00059 const axis2_env_t *env);
00060
00061 xml_schema_types_t (AXIS2_CALL *
00062 get_type)(
00063 void *attr_grp,
00064 const axis2_env_t *env);
00065
00066 axis2_hash_t* (AXIS2_CALL *
00067 super_objs)(
00068 void *attr_grp,
00069 const axis2_env_t *env);
00070
00071
00072 xml_schema_annotated_t *(AXIS2_CALL *
00073 get_base_impl)(
00074 void *attr_grp,
00075 const axis2_env_t *env);
00076
00077 xml_schema_any_attribute_t* (AXIS2_CALL *
00078 get_any_attribute)(
00079 void *attr_grp,
00080 const axis2_env_t *env);
00081
00082 axis2_status_t (AXIS2_CALL *
00083 set_any_attribute)(
00084 void *attr_grp,
00085 const axis2_env_t *env,
00086 xml_schema_any_attribute_t* any_attr);
00087
00088 xml_schema_obj_collection_t* (AXIS2_CALL *
00089 get_attributes)(void *attr_grp,
00090 const axis2_env_t *env);
00091
00092 axis2_status_t (AXIS2_CALL *
00093 set_attributes)(void *attr_grp,
00094 const axis2_env_t *env,
00095 xml_schema_obj_collection_t* attributes);
00096
00097 axis2_char_t* (AXIS2_CALL *
00098 get_name)(void *attr_grp,
00099 const axis2_env_t *env);
00100
00101 axis2_status_t (AXIS2_CALL *
00102 set_name)(void *attr_grp,
00103 const axis2_env_t *env,
00104 axis2_char_t *name);
00105
00106 };
00107
00108 struct xml_schema_attribute_group
00109 {
00110 xml_schema_annotated_t base;
00111 xml_schema_attribute_group_ops_t *ops;
00112 };
00113
00114 AXIS2_EXTERN xml_schema_attribute_group_t * AXIS2_CALL
00115 xml_schema_attribute_group_create(const axis2_env_t *env);
00116
00117
00118
00119 #define XML_SCHEMA_ATTRIBUTE_GROUP_FREE(attr_grp, env) \
00120 (((xml_schema_attribute_group_t *) attr_grp)->ops->free(attr_grp, env))
00121
00122 #define XML_SCHEMA_ATTRIBUTE_GROUP_GET_BASE_IMPL(attr_grp, env) \
00123 (((xml_schema_attribute_group_t *) attr_grp)->ops->get_base_impl(attr_grp, env))
00124
00125 #define XML_SCHEMA_ATTRIBUTE_GROUP_GET_TYPE(attr_grp, env) \
00126 (((xml_schema_attribute_group_t *) attr_grp)->ops->get_type(attr_grp, env))
00127
00128 #define XML_SCHEMA_ATTRIBUTE_GROUP_SUPER_OBJS(attr_grp, env) \
00129 (((xml_schema_attribute_group_t *) attr_grp)->ops->super_objs(attr_grp, env))
00130
00131
00132 #define XML_SCHEMA_ATTRIBUTE_GROUP_GET_ANY_ATTRIBUTE(attr_grp, env) \
00133 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00134 get_any_attribute(attr_grp, env))
00135
00136 #define XML_SCHEMA_ATTRIBUTE_GROUP_SET_ANY_ATTRIBUTE(attr_grp, env, any_attr) \
00137 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00138 set_any_attribute(attr_grp, env, any_attr))
00139
00140 #define XML_SCHEMA_ATTRIBUTE_GROUP_SET_ATTRIBUTES(attr_grp, env, attrs) \
00141 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00142 set_attributes(attr_grp, env, attrs))
00143
00144 #define XML_SCHEMA_ATTRIBUTE_GROUP_GET_ATTRIBUTES(attr_grp, env) \
00145 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00146 get_attributes(attr_grp, env))
00147
00148 #define XML_SCHEMA_ATTRIBUTE_GROUP_GET_NAME(attr_grp, env) \
00149 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00150 get_name(attr_grp, env))
00151
00152 #define XML_SCHEMA_ATTRIBUTE_GROUP_SET_NAME(attr_grp, env, name) \
00153 (((xml_schema_attribute_group_t *) attr_grp)->ops->\
00154 set_name(attr_grp, env, name))
00155
00156
00158 #ifdef __cplusplus
00159 }
00160 #endif
00161 #endif