00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_INTERFACE_OP_ELEMENT_H
00019 #define WODEN_INTERFACE_OP_ELEMENT_H
00020
00030 #include <axis2_allocator.h>
00031 #include <axis2_env.h>
00032 #include <axis2_error.h>
00033 #include <axis2_string.h>
00034 #include <axis2_utils.h>
00035 #include <axis2_hash.h>
00036 #include <axis2_qname.h>
00037 #include <axis2_uri.h>
00038 #include <axis2_array_list.h>
00039 #include <woden.h>
00040 #include <woden_documentable_element.h>
00041 #include <woden_configurable_element.h>
00042 #include <woden_nested_element.h>
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00049 typedef struct woden_interface_op_element woden_interface_op_element_t;
00050 typedef struct woden_interface_op_element_ops woden_interface_op_element_ops_t;
00051 typedef union woden_interface_op_element_base woden_interface_op_element_base_t;
00052
00058 struct woden_interface_op_element_ops
00059 {
00064 axis2_status_t (AXIS2_CALL *
00065 free) (
00066 void *interface_op_element,
00067 const axis2_env_t *env);
00068
00069 woden_obj_types_t (AXIS2_CALL *
00070 type) (
00071 void *interface_op_element,
00072 const axis2_env_t *env);
00073
00074 axis2_status_t (AXIS2_CALL *
00075 set_qname) (
00076 void *iface_op_ele,
00077 const axis2_env_t *env,
00078 axis2_qname_t *qname);
00079
00080 axis2_qname_t *(AXIS2_CALL *
00081 get_qname) (
00082 void *iface_op_ele,
00083 const axis2_env_t *env);
00084
00085 axis2_status_t (AXIS2_CALL *
00086 set_pattern) (
00087 void *iface_op_ele,
00088 const axis2_env_t *env,
00089 axis2_uri_t *uri);
00090
00091 axis2_uri_t *(AXIS2_CALL *
00092 get_pattern) (
00093 void *iface_op_ele,
00094 const axis2_env_t *env);
00095
00096 axis2_status_t (AXIS2_CALL *
00097 add_style_uri) (
00098 void *iface_op_ele,
00099 const axis2_env_t *env,
00100 axis2_uri_t *uri);
00101
00102 axis2_status_t (AXIS2_CALL *
00103 remove_style_uri) (
00104 void *iface_op_ele,
00105 const axis2_env_t *env,
00106 axis2_uri_t *uri);
00107
00108 axis2_uri_t *(AXIS2_CALL *
00109 get_style) (
00110 void *iface_op_ele,
00111 const axis2_env_t *env);
00112
00113 axis2_status_t (AXIS2_CALL *
00114 add_interface_msg_ref_element) (
00115 void *iface_op_ele,
00116 const axis2_env_t *env,
00117 void *msg_ref);
00118
00119 axis2_status_t (AXIS2_CALL *
00120 remove_interface_msg_ref_element) (
00121 void *iface_op_ele,
00122 const axis2_env_t *env,
00123 void *msg_ref);
00124
00125 axis2_array_list_t *(AXIS2_CALL *
00126 get_interface_msg_ref_elements) (
00127 void *iface_op_ele,
00128 const axis2_env_t *env);
00129
00130 axis2_status_t (AXIS2_CALL *
00131 add_interface_fault_ref_element) (
00132 void *iface_op_ele,
00133 const axis2_env_t *env,
00134 void *fault_ref);
00135
00136 axis2_status_t (AXIS2_CALL *
00137 remove_interface_fault_ref_element) (
00138 void *iface_op_ele,
00139 const axis2_env_t *env,
00140 void *fault_ref);
00141
00142 axis2_array_list_t *(AXIS2_CALL *
00143 get_interface_fault_ref_elements) (
00144 void *iface_op_ele,
00145 const axis2_env_t *env);
00146
00147
00148 };
00149
00150 union woden_interface_op_element_base
00151 {
00152 woden_documentable_element_t documentable_element;
00153 woden_configurable_element_t configurable_element;
00154 woden_nested_element_t nested_element;
00155 };
00156
00157 struct woden_interface_op_element
00158 {
00159 woden_interface_op_element_base_t base;
00160 woden_interface_op_element_ops_t *ops;
00161 };
00162
00163 AXIS2_EXTERN woden_interface_op_element_t * AXIS2_CALL
00164 woden_interface_op_element_create(
00165 const axis2_env_t *env);
00166
00167
00168 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00169 woden_interface_op_element_resolve_methods(
00170 woden_interface_op_element_t *interface_op_element,
00171 const axis2_env_t *env,
00172 axis2_hash_t *methods);
00173
00174
00175 #define WODEN_INTERFACE_OP_ELEMENT_FREE(interface_op_element, env) \
00176 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00177 free (interface_op_element, env))
00178
00179 #define WODEN_INTERFACE_OP_ELEMENT_TYPE(interface_op_element, env) \
00180 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00181 type (interface_op_element, env))
00182
00183 #define WODEN_INTERFACE_OP_ELEMENT_SET_QNAME(interface_op_element, env, qname) \
00184 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00185 set_qname (interface_op_element, env, qname))
00186
00187 #define WODEN_INTERFACE_OP_ELEMENT_GET_QNAME(interface_op_element, env) \
00188 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00189 get_qname (interface_op_element, env))
00190
00191 #define WODEN_INTERFACE_OP_ELEMENT_SET_PATTERN(interface_op_element, env, uri) \
00192 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00193 set_pattern (interface_op_element, env, uri))
00194
00195 #define WODEN_INTERFACE_OP_ELEMENT_GET_PATTERN(interface_op_element, env) \
00196 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00197 get_pattern (interface_op_element, env))
00198
00199 #define WODEN_INTERFACE_OP_ELEMENT_ADD_STYLE_URI(interface_op_element, env, uri) \
00200 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00201 add_style_uri (interface_op_element, env, uri))
00202
00203 #define WODEN_INTERFACE_OP_ELEMENT_REMOVE_STYLE_URI(interface_op_element, env, uri) \
00204 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00205 remove_style_uri (interface_op_element, env, uri))
00206
00207 #define WODEN_INTERFACE_OP_ELEMENT_GET_STYLE(interface_op_element, env) \
00208 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00209 get_style (interface_op_element, env))
00210
00211 #define WODEN_INTERFACE_OP_ELEMENT_ADD_INTERFACE_MSG_REF_ELEMENT(interface_op_element, env, msg_ref) \
00212 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00213 add_interface_msg_ref_element (interface_op_element, env, msg_ref))
00214
00215 #define WODEN_INTERFACE_OP_ELEMENT_REMOVE_MSG_REF_ELEMENT(interface_op_element, env, msg_ref) \
00216 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00217 remove_msg_ref_element (interface_op_element, env, msg_ref))
00218
00219 #define WODEN_INTERFACE_OP_ELEMENT_GET_INTERFACE_MSG_REF_ELEMENTS(interface_op_element, env) \
00220 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00221 get_interface_msg_ref_elements (interface_op_element, env))
00222
00223 #define WODEN_INTERFACE_OP_ELEMENT_ADD_INTERFACE_FAULT_REF_ELEMENT(interface_op_element, env, fault_ref) \
00224 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00225 add_interface_fault_ref_element (interface_op_element, env, fault_ref))
00226
00227 #define WODEN_INTERFACE_OP_ELEMENT_REMOVE_FAULT_REF_ELEMENT(interface_op_element, env, fault_ref) \
00228 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00229 remove_fault_ref_element (interface_op_element, env, fault_ref))
00230
00231 #define WODEN_INTERFACE_OP_ELEMENT_GET_INTERFACE_FAULT_REF_ELEMENTS(interface_op_element, env) \
00232 (((woden_interface_op_element_t *) interface_op_element)->ops->\
00233 get_interface_fault_ref_elements (interface_op_element, env))
00234
00235
00236
00237
00238
00240 #ifdef __cplusplus
00241 }
00242 #endif
00243 #endif