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

axis2_relates_to.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_RELATES_TO_H
00018 #define AXIS2_RELATES_TO_H
00019 
00025 #include <axis2_defines.h>
00026 #include <axis2_env.h>
00027 #include <axis2_const.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     struct axis2_relates_to;
00035     struct axis2_relates_to_ops;
00036     
00046  AXIS2_DECLARE_DATA typedef struct axis2_relates_to_ops
00047     { 
00053         axis2_char_t* (AXIS2_CALL *
00054       get_value)(struct axis2_relates_to *relates_to, 
00055                const axis2_env_t *env);
00056 
00062         axis2_status_t (AXIS2_CALL *
00063       set_value)(struct axis2_relates_to *relates_to, 
00064                 const axis2_env_t *env, 
00065                    axis2_char_t * value);
00066 
00072         axis2_char_t* (AXIS2_CALL *
00073       get_relationship_type)(struct axis2_relates_to *relates_to, 
00074                             const axis2_env_t *env);
00075 
00081         axis2_status_t (AXIS2_CALL *
00082       set_relationship_type)(struct axis2_relates_to *relates_to, 
00083                             const axis2_env_t *env, 
00084                                axis2_char_t *relationship_type);
00085         
00090         axis2_status_t (AXIS2_CALL *
00091       free) (struct axis2_relates_to *relates_to, 
00092                const axis2_env_t *env);
00093         
00094     } axis2_relates_to_ops_t;
00095    
00099     typedef struct axis2_relates_to
00100     {
00102         axis2_relates_to_ops_t *ops;
00103     } axis2_relates_to_t;
00104 
00105 
00112 AXIS2_EXTERN axis2_relates_to_t* AXIS2_CALL
00113 axis2_relates_to_create(const axis2_env_t *env, 
00114                   const axis2_char_t *value, 
00115                   const axis2_char_t *relationship_type);
00116     
00117 #define AXIS2_RELATES_TO_GET_VALUE(relates_to, env) \
00118       ((relates_to)->ops->get_value(relates_to, env))
00119    
00120 #define AXIS2_RELATES_TO_SET_VALUE(relates_to, env, vlaue) \
00121       ((relates_to)->ops->set_value(relates_to, env, vlaue))
00122    
00123 #define AXIS2_RELATES_TO_GET_RELATIONSHIP_TYPE(relates_to, env) \
00124       ((relates_to)->ops->get_relationship_type(relates_to, env))
00125       
00126 #define AXIS2_RELATES_TO_SET_RELATIONSHIP_TYPE(relates_to, env, relationship_type) \
00127       ((relates_to)->ops->set_relationship_type(relates_to, env, relationship_type))
00128       
00129 #define AXIS2_RELATES_TO_FREE(relates_to, env) \
00130       ((relates_to)->ops->free(relates_to, env))
00131     
00134 #ifdef __cplusplus
00135 }
00136 #endif
00137 
00138 #endif    /* AXIS2_RELATES_TO_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2