00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_OM_COMMENT_H
00018 #define AXIS2_OM_COMMENT_H
00019
00025 #include <axis2_om_node.h>
00026 #include <axis2_om_output.h>
00027
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032
00033 struct axis2_om_comment;
00034 struct axis2_om_comment_ops;
00035
00047 AXIS2_DECLARE_DATA typedef struct axis2_om_comment_ops
00048 {
00056 axis2_status_t (AXIS2_CALL *free) (struct axis2_om_comment *om_comment,
00057 axis2_env_t **env);
00064 axis2_char_t* (AXIS2_CALL *get_value)(struct axis2_om_comment *om_comment,
00065 axis2_env_t **env);
00073 axis2_status_t (AXIS2_CALL *set_value)(struct axis2_om_comment *om_comment,
00074 axis2_env_t **env,
00075 const axis2_char_t* value);
00083 axis2_status_t (AXIS2_CALL *serialize)(struct axis2_om_comment *om_comment,
00084 axis2_env_t **env,
00085 axis2_om_output_t *om_output);
00086
00087
00088 } axis2_om_comment_ops_t;
00089
00094 typedef struct axis2_om_comment
00095 {
00097 axis2_om_comment_ops_t *ops;
00098
00099 } axis2_om_comment_t;
00100
00111 AXIS2_DECLARE(axis2_om_comment_t *)
00112 axis2_om_comment_create (axis2_env_t **env,
00113 axis2_om_node_t *parent,
00114 const axis2_char_t *value,
00115 axis2_om_node_t **node);
00116
00117
00119 #define AXIS2_OM_COMMENT_FREE(om_comment, env) \
00120 ((om_comment)->ops->free(om_comment, env))
00122 #define AXIS2_OM_COMMENT_GET_VALUE(om_comment, env) \
00123 ((om_comment)->ops->get_value(om_comment, env))
00125 #define AXIS2_OM_COMMENT_SET_VALUE(om_comment, env, value) \
00126 ((om_comment)->ops->set_value(om_comment, env, value))
00128 #define AXIS2_OM_COMMENT_SERIALIZE(om_comment, env, om_output) \
00129 ((om_comment)->ops->serialize(om_comment, env, om_output))
00130
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136
00137 #endif