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 
00020 
00037 #include <axis2_defines.h>
00038 #include <axis2_env.h>
00039 #include <axis2_const.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_relates_to axis2_relates_to_t;
00049     typedef struct axis2_relates_to_ops axis2_relates_to_ops_t;
00050 
00051 
00055     struct axis2_relates_to_ops
00056     {
00064         const axis2_char_t *(AXIS2_CALL *
00065                 get_value)(
00066                     const axis2_relates_to_t *relates_to,
00067                     const axis2_env_t *env);
00068 
00077         axis2_status_t (AXIS2_CALL *
00078                 set_value)(
00079                     struct axis2_relates_to *relates_to,
00080                     const axis2_env_t *env,
00081                     const axis2_char_t *value);
00082 
00089         const axis2_char_t *(AXIS2_CALL *
00090                 get_relationship_type)(
00091                     const axis2_relates_to_t *relates_to,
00092                     const axis2_env_t *env);
00093 
00101         axis2_status_t (AXIS2_CALL *
00102                 set_relationship_type)(
00103                     struct axis2_relates_to *relates_to,
00104                     const axis2_env_t *env,
00105                     const axis2_char_t *relationship_type);
00106 
00113         axis2_status_t (AXIS2_CALL *
00114                 free)(
00115                     struct axis2_relates_to *relates_to,
00116                     const axis2_env_t *env);
00117     };
00118 
00122     struct axis2_relates_to
00123     {
00125         axis2_relates_to_ops_t *ops;
00126     };
00127 
00128 
00135     AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
00136     axis2_relates_to_create(
00137         const axis2_env_t *env,
00138         const axis2_char_t *value,
00139         const axis2_char_t *relationship_type);
00140 
00143 #define AXIS2_RELATES_TO_GET_VALUE(relates_to, env) \
00144       ((relates_to)->ops->get_value(relates_to, env))
00145 
00148 #define AXIS2_RELATES_TO_SET_VALUE(relates_to, env, vlaue) \
00149       ((relates_to)->ops->set_value(relates_to, env, vlaue))
00150 
00153 #define AXIS2_RELATES_TO_GET_RELATIONSHIP_TYPE(relates_to, env) \
00154       ((relates_to)->ops->get_relationship_type(relates_to, env))
00155 
00158 #define AXIS2_RELATES_TO_SET_RELATIONSHIP_TYPE(relates_to, env, relationship_type) \
00159       ((relates_to)->ops->set_relationship_type(relates_to, env, relationship_type))
00160 
00163 #define AXIS2_RELATES_TO_FREE(relates_to, env) \
00164       ((relates_to)->ops->free(relates_to, env))
00165 
00168 #ifdef __cplusplus
00169 }
00170 #endif
00171 
00172 #endif    /* AXIS2_RELATES_TO_H */

Generated on Tue Oct 3 22:35:47 2006 for Axis2/C by  doxygen 1.4.7