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

axis2_om_processing_instruction.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_PI_H
00018 #define AXIS2_OM_PI_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_processing_instruction;
00034     struct axis2_om_processing_instruction_ops;
00035     
00036     
00048    AXIS2_DECLARE_DATA  typedef struct axis2_om_processing_instruction_ops
00049     {
00056         axis2_status_t (AXIS2_CALL *free)
00057                             (struct axis2_om_processing_instruction * om_pi,
00058                              axis2_env_t **env);
00066         axis2_status_t (AXIS2_CALL *set_value)
00067                                 (struct axis2_om_processing_instruction *om_pi,
00068                                 axis2_env_t **env,
00069                                 const axis2_char_t* value);
00079         axis2_status_t (AXIS2_CALL *set_target)
00080                                 (struct axis2_om_processing_instruction *om_pi,
00081                                 axis2_env_t **env,
00082                                 const axis2_char_t* target);
00089         axis2_char_t* (AXIS2_CALL *get_target)
00090                                 (struct axis2_om_processing_instruction *om_pi,
00091                                  axis2_env_t **env);
00098         axis2_char_t* (AXIS2_CALL *get_value)
00099                                 (struct axis2_om_processing_instruction *om_pi,
00100                                  axis2_env_t **env);                                                                                                                           
00101                            
00110         axis2_status_t (AXIS2_CALL *serialize)
00111                                 (struct axis2_om_processing_instruction *om_pi,
00112                                  axis2_env_t **env, axis2_om_output_t *om_output);
00113                                     
00114                                           
00115     } axis2_om_processing_instruction_ops_t;
00116 
00121     typedef struct axis2_om_processing_instruction
00122     {
00124         axis2_om_processing_instruction_ops_t *ops;
00125 
00126     } axis2_om_processing_instruction_t;
00127 
00139     AXIS2_DECLARE(axis2_om_processing_instruction_t *) 
00140         axis2_om_processing_instruction_create (axis2_env_t **env,
00141                                                 axis2_om_node_t * parent,
00142                                                 const axis2_char_t * target,
00143                                                 const axis2_char_t * value,
00144                                                 axis2_om_node_t ** node);
00145 
00146 
00148 #define AXIS2_OM_PROCESSING_INSTRUCTION_FREE(pi, env) \
00149         ((pi)->ops->free(pi, env))
00151 #define AXIS2_OM_PROCESSING_INSTRUCION_SET_VALUE(pi, env, value) \
00152         ((pi)->ops->set_value(pi,env,value))
00154 #define AXIS2_OM_PROCESSING_INSTRUCTION_GET_VALUE(pi, env) \
00155         ((pi)->ops->get_value(pi, env))        
00157 #define AXIS2_OM_PROCESSING_INSTRUCION_SET_TARGET(pi, env, value) \
00158         ((pi)->ops->set_target(pi, env, value))
00160 #define AXIS2_OM_PROCESSING_INSTRUCTION_GET_TARGET(pi, env) \
00161         ((pi)->ops->get_target(pi, env))
00163 #define AXIS2_OM_PROCESSING_INSTRUCTION_SERIALIZE(pi, env, om_output) \
00164         ((pi)->ops->serialize(pi, env, om_output))
00165 
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 
00171 #endif                          /* AXIS2_OM_PI_H */

Generated on Wed Dec 7 07:58:25 2005 for Axis2/C by  doxygen 1.4.2