00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXUTIL_PARAM_H
00020 #define AXUTIL_PARAM_H
00021
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 #include <axutil_hash.h>
00030 #include <axutil_array_list.h>
00031
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036
00046 #define AXIS2_TEXT_PARAM 0
00047
00051 #define AXIS2_DOM_PARAM 1
00052
00053 typedef struct axutil_param axutil_param_t;
00054
00058 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00059 axutil_param_create(
00060 const axutil_env_t * env,
00061 axis2_char_t * name,
00062 void *value);
00063
00068 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069 axutil_param_get_name(
00070 struct axutil_param *param,
00071 const axutil_env_t * env);
00072
00077 AXIS2_EXTERN void *AXIS2_CALL
00078 axutil_param_get_value(
00079 struct axutil_param *param,
00080 const axutil_env_t * env);
00081
00086 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087 axutil_param_set_name(
00088 struct axutil_param *param,
00089 const axutil_env_t * env,
00090 const axis2_char_t * name);
00091
00097 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098 axutil_param_set_value(
00099 struct axutil_param *param,
00100 const axutil_env_t * env,
00101 const void *value);
00102
00108 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00109 axutil_param_is_locked(
00110 struct axutil_param *param,
00111 const axutil_env_t * env);
00112
00118 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119 axutil_param_set_locked(
00120 struct axutil_param *param,
00121 const axutil_env_t * env,
00122 axis2_bool_t value);
00123
00129 AXIS2_EXTERN int AXIS2_CALL
00130 axutil_param_get_param_type(
00131 struct axutil_param *param,
00132 const axutil_env_t * env);
00133
00134 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135 axutil_param_set_param_type(
00136 struct axutil_param *param,
00137 const axutil_env_t * env,
00138 int type);
00139
00140 AXIS2_EXTERN void AXIS2_CALL
00141 axutil_param_free(
00142 struct axutil_param *param,
00143 const axutil_env_t * env);
00144
00145 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146 axutil_param_set_attributes(
00147 struct axutil_param *param,
00148 const axutil_env_t * env,
00149 axutil_hash_t * attrs);
00150
00151 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00152 axutil_param_get_attributes(
00153 struct axutil_param *param,
00154 const axutil_env_t * env);
00155
00156 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157 axutil_param_set_value_list(
00158 struct axutil_param *param,
00159 const axutil_env_t * env,
00160 axutil_array_list_t * value_list);
00161
00162 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00163 axutil_param_get_value_list(
00164 struct axutil_param *param,
00165 const axutil_env_t * env);
00166
00167 AXIS2_EXTERN void AXIS2_CALL
00168 axutil_param_value_free(
00169 void *param_value,
00170 const axutil_env_t * env);
00171
00172 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173 axutil_param_set_value_free(
00174 struct axutil_param *param,
00175 const axutil_env_t * env,
00176 void *free_fn);
00177
00178 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00179 axutil_param_dummy_free_fn(
00180 void *param,
00181 const axutil_env_t * env);
00182
00185 #ifdef __cplusplus
00186 }
00187 #endif
00188
00189 #endif