axis2_wsdl_property.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_WSDL_PROPERTY_H
00018 #define AXIS2_WSDL_PROPERTY_H
00019 
00025 #include <axis2_const.h>
00026 #include <axis2_error.h>
00027 #include <axis2_defines.h>
00028 #include <axis2_env.h>
00029 #include <axis2_allocator.h>
00030 #include <axis2_wsdl_component.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037 struct axis2_wsdl_component;    
00038 typedef struct axis2_wsdl_property axis2_wsdl_property_t;
00039 typedef struct axis2_wsdl_property_ops axis2_wsdl_property_ops_t;
00040 
00050  struct axis2_wsdl_property_ops
00051 {
00055    axis2_status_t (AXIS2_CALL *free)(axis2_wsdl_property_t *wsdl_property,
00056                               const axis2_env_t *env);
00057 
00063     void * (AXIS2_CALL *
00064     get_constraint) (axis2_wsdl_property_t *wsdl_property,
00065                                         const axis2_env_t *env);
00066     
00072     axis2_status_t (AXIS2_CALL *
00073     set_constraint) (axis2_wsdl_property_t *wsdl_property,
00074                                         const axis2_env_t *env,
00075                                         void *constraint);
00076     
00082     axis2_char_t *(AXIS2_CALL *
00083     get_name) (axis2_wsdl_property_t *wsdl_property,
00084                                     const axis2_env_t *env);
00085                                     
00091     axis2_status_t (AXIS2_CALL *
00092     set_name) (axis2_wsdl_property_t *wsdl_property,
00093                                     const axis2_env_t *env,
00094                                     axis2_char_t *name);
00095     
00096     
00102     void *(AXIS2_CALL *
00103     get_value) (axis2_wsdl_property_t *wsdl_property,
00104                                     const axis2_env_t *env);
00105                                     
00111     axis2_status_t (AXIS2_CALL *
00112     set_value) (axis2_wsdl_property_t *wsdl_property,
00113                                     const axis2_env_t *env,
00114                                     void *value);                                
00115 
00116 
00117 
00118 };
00119 
00124  struct axis2_wsdl_property
00125 {
00126    axis2_wsdl_property_ops_t *ops;
00127     struct axis2_wsdl_component *wsdl_component;
00128 };
00129 
00134 AXIS2_EXTERN axis2_wsdl_property_t *AXIS2_CALL axis2_wsdl_property_create (const axis2_env_t *env);
00135 
00136 /*************************** Function macros **********************************/
00137 
00138 #define AXIS2_WSDL_PROPERTY_FREE(wsdl_property, env) \
00139       ((wsdl_property)->ops->free (wsdl_property, env))
00140 
00141 #define AXIS2_WSDL_PROPERTY_GET_CONSTRAINT(wsdl_property, env) \
00142       ((wsdl_property)->ops->set_constraint (wsdl_property, env))
00143 
00144 #define AXIS2_WSDL_PROPERTY_SET_CONSTRAINT(wsdl_property, env, constraint) \
00145       ((wsdl_property)->ops->get_constraint (wsdl_property, env, constraint))
00146 
00147 #define AXIS2_WSDL_PROPERTY_GET_NAME(wsdl_property, env) \
00148       ((wsdl_property)->ops->get_name (wsdl_property, env))
00149 
00150 #define AXIS2_WSDL_PROPERTY_SET_NAME(wsdl_property, env, name) \
00151       ((wsdl_property)->ops->set_name (wsdl_property, env, name))
00152         
00153 #define AXIS2_WSDL_PROPERTY_GET_VALUE(wsdl_property, env) \
00154       ((wsdl_property)->ops->get_value (wsdl_property, env))
00155 
00156 #define AXIS2_WSDL_PROPERTY_SET_VALUE(wsdl_property, env, value) \
00157       ((wsdl_property)->ops->set_value (wsdl_property, env, value))        
00158 
00159 /*************************** End of function macros ***************************/
00160 
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166 #endif  /* AXIS2_WSDL_PROPERTY_H */

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