00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_WSDL_PROPERTY_H
00019 #define AXIS2_WSDL_PROPERTY_H
00020
00026 #include <axis2_const.h>
00027 #include <axis2_error.h>
00028 #include <axis2_defines.h>
00029 #include <axis2_env.h>
00030 #include <axis2_allocator.h>
00031 #include <axis2_wsdl_component.h>
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00038 struct axis2_wsdl_component;
00039 typedef struct axis2_wsdl_property axis2_wsdl_property_t;
00040 typedef struct axis2_wsdl_property_ops axis2_wsdl_property_ops_t;
00041
00051 struct axis2_wsdl_property_ops
00052 {
00056 axis2_status_t (AXIS2_CALL *free)(axis2_wsdl_property_t *wsdl_property,
00057 const axis2_env_t *env);
00058
00064 void * (AXIS2_CALL *
00065 get_constraint) (axis2_wsdl_property_t *wsdl_property,
00066 const axis2_env_t *env);
00067
00073 axis2_status_t (AXIS2_CALL *
00074 set_constraint) (axis2_wsdl_property_t *wsdl_property,
00075 const axis2_env_t *env,
00076 void *constraint);
00077
00083 axis2_char_t *(AXIS2_CALL *
00084 get_name) (axis2_wsdl_property_t *wsdl_property,
00085 const axis2_env_t *env);
00086
00092 axis2_status_t (AXIS2_CALL *
00093 set_name) (axis2_wsdl_property_t *wsdl_property,
00094 const axis2_env_t *env,
00095 axis2_char_t *name);
00096
00097
00103 void *(AXIS2_CALL *
00104 get_value) (axis2_wsdl_property_t *wsdl_property,
00105 const axis2_env_t *env);
00106
00112 axis2_status_t (AXIS2_CALL *
00113 set_value) (axis2_wsdl_property_t *wsdl_property,
00114 const axis2_env_t *env,
00115 void *value);
00116
00117
00118
00119 };
00120
00125 struct axis2_wsdl_property
00126 {
00127 axis2_wsdl_property_ops_t *ops;
00128 struct axis2_wsdl_component *wsdl_component;
00129 };
00130
00135 AXIS2_EXTERN axis2_wsdl_property_t *AXIS2_CALL axis2_wsdl_property_create (const axis2_env_t *env);
00136
00137
00138
00139 #define AXIS2_WSDL_PROPERTY_FREE(wsdl_property, env) \
00140 ((wsdl_property)->ops->free (wsdl_property, env))
00141
00142 #define AXIS2_WSDL_PROPERTY_GET_CONSTRAINT(wsdl_property, env) \
00143 ((wsdl_property)->ops->set_constraint (wsdl_property, env))
00144
00145 #define AXIS2_WSDL_PROPERTY_SET_CONSTRAINT(wsdl_property, env, constraint) \
00146 ((wsdl_property)->ops->get_constraint (wsdl_property, env, constraint))
00147
00148 #define AXIS2_WSDL_PROPERTY_GET_NAME(wsdl_property, env) \
00149 ((wsdl_property)->ops->get_name (wsdl_property, env))
00150
00151 #define AXIS2_WSDL_PROPERTY_SET_NAME(wsdl_property, env, name) \
00152 ((wsdl_property)->ops->set_name (wsdl_property, env, name))
00153
00154 #define AXIS2_WSDL_PROPERTY_GET_VALUE(wsdl_property, env) \
00155 ((wsdl_property)->ops->get_value (wsdl_property, env))
00156
00157 #define AXIS2_WSDL_PROPERTY_SET_VALUE(wsdl_property, env, value) \
00158 ((wsdl_property)->ops->set_value (wsdl_property, env, value))
00159
00160
00161
00164 #ifdef __cplusplus
00165 }
00166 #endif
00167 #endif