Main Page | Modules | Class List | Directories | File List | Class Members | File Members

axis2_om_comment.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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                          /* AXIS2_OM_COMMENT_H */

Generated on Thu Nov 24 13:58:29 2005 for Axis2/C by  doxygen 1.4.2