00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_OM_TEXT_H
00018 #define AXIS2_OM_TEXT_H
00019
00025 #include <axis2_env.h>
00026 #include <axis2_om_node.h>
00027 #include <axis2_om_output.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00034 struct axis2_om_text;
00035 struct axis2_om_text_ops;
00036
00047 AXIS2_DECLARE_DATA typedef struct axis2_om_text_ops
00048 {
00056 axis2_status_t (AXIS2_CALL *free) (struct axis2_om_text *om_text,
00057 axis2_env_t **env);
00058
00067 axis2_status_t (AXIS2_CALL *serialize) (struct axis2_om_text *om_text,
00068 axis2_env_t **env,
00069 axis2_om_output_t *om_output);
00078 axis2_status_t (AXIS2_CALL *set_value)(struct axis2_om_text *om_text,
00079 axis2_env_t **env,
00080 const axis2_char_t *value);
00087 axis2_char_t* (AXIS2_CALL *get_value)(struct axis2_om_text *om_text,
00088 axis2_env_t **env);
00089
00090
00091 } axis2_om_text_ops_t;
00092
00097 typedef struct axis2_om_text
00098 {
00100 axis2_om_text_ops_t *ops;
00101
00102 } axis2_om_text_t;
00103
00104
00116 AXIS2_DECLARE(axis2_om_text_t *)
00117 axis2_om_text_create (axis2_env_t **env,
00118 axis2_om_node_t *parent,
00119 const axis2_char_t *value,
00120 axis2_om_node_t ** node);
00121
00123 #define AXIS2_OM_TEXT_FREE( om_text,env) \
00124 ((om_text)->ops->free(om_text,env))
00125
00127 #define AXIS2_OM_TEXT_SERIALIZE(om_text, env, om_output) \
00128 ((om_text)->ops->serialize(om_text, env, om_output))
00130 #define AXIS2_OM_TEXT_GET_VALUE(om_text, env) \
00131 ((om_text)->ops->get_value(om_text, env))
00133 #define AXIS2_OM_TEXT_SET_VALUE(om_text, env, value) \
00134 ((om_text)->ops->set_value(om_text, env, value))
00135
00136
00137
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143
00144 #endif