00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_MSG_LABEL_H
00019 #define WODEN_MSG_LABEL_H
00020
00051 #include <axis2_allocator.h>
00052 #include <axis2_env.h>
00053 #include <axis2_error.h>
00054 #include <axis2_string.h>
00055 #include <axis2_utils.h>
00056 #include <axis2_hash.h>
00057 #include <axis2_qname.h>
00058 #include <woden.h>
00059
00060 #ifdef __cplusplus
00061 extern "C"
00062 {
00063 #endif
00064
00065 typedef struct woden_msg_label woden_msg_label_t;
00066 typedef struct woden_msg_label_ops woden_msg_label_ops_t;
00067 struct woden_ext_element;
00068
00074 struct woden_msg_label_ops
00075 {
00080 axis2_status_t (AXIS2_CALL *
00081 free) (
00082 void *msg_label,
00083 const axis2_env_t *env);
00084
00085 axis2_char_t *(AXIS2_CALL *
00086 to_string) (
00087 void *msg_label,
00088 const axis2_env_t *env);
00089
00090 axis2_bool_t (AXIS2_CALL *
00091 is_valid) (
00092 void *msg_label,
00093 const axis2_env_t *env);
00094
00095 axis2_bool_t (AXIS2_CALL *
00096 equals) (
00097 void *msg_label,
00098 const axis2_env_t *env,
00099 woden_msg_label_t *other);
00100
00101
00102 };
00103
00104 struct woden_msg_label
00105 {
00106 woden_msg_label_ops_t *ops;
00107
00108 };
00109
00110 AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
00111 woden_msg_label_get_msg_label_in(
00112 const axis2_env_t *env);
00113
00114 AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
00115 woden_msg_label_get_msg_label_out(
00116 const axis2_env_t *env);
00117
00118 AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
00119 woden_msg_label_get_invalid_value(
00120 const axis2_env_t *env,
00121 const axis2_char_t *value);
00122
00123 #define WODEN_MSG_LABEL_FREE(msg_label, env) \
00124 (((woden_msg_label_t *) msg_label)->ops->\
00125 free (msg_label, env))
00126
00127 #define WODEN_MSG_LABEL_TO_STRING(msg_label, env) \
00128 (((woden_msg_label_t *) msg_label)->ops->\
00129 to_string (msg_label, env))
00130
00131 #define WODEN_MSG_LABEL_IS_VALID(msg_label, env) \
00132 (((woden_msg_label_t *) msg_label)->ops->\
00133 is_valid (msg_label, env))
00134
00135 #define WODEN_MSG_LABEL_EQUALS(msg_label, env, other) \
00136 (((woden_msg_label_t *) msg_label)->ops->\
00137 equals (msg_label, env, other))
00138
00139
00141 #ifdef __cplusplus
00142 }
00143 #endif
00144 #endif