00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_PARAM_H
00019 #define AXUTIL_PARAM_H
00020
00026 #include <axutil_utils_defines.h>
00027 #include <axutil_env.h>
00028 #include <axutil_hash.h>
00029 #include <axutil_array_list.h>
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00036
00046 static const int AXIS2_TEXT_PARAM = 0;
00047
00051 static const int 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(const axutil_env_t *env,
00060 axis2_char_t *name,
00061 void *value);
00062
00067 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00068 axutil_param_get_name(struct axutil_param *param,
00069 const axutil_env_t *env);
00070
00075 AXIS2_EXTERN void* AXIS2_CALL
00076 axutil_param_get_value(struct axutil_param *param,
00077 const axutil_env_t *env);
00078
00083 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084 axutil_param_set_name(struct axutil_param *param,
00085 const axutil_env_t *env,
00086 const axis2_char_t *name);
00087
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 axutil_param_set_value(struct axutil_param *param,
00095 const axutil_env_t *env,
00096 const void *value);
00097
00103 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00104 axutil_param_is_locked(struct axutil_param *param,
00105 const axutil_env_t *env);
00106
00112 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113 axutil_param_set_locked(struct axutil_param *param,
00114 const axutil_env_t *env,
00115 axis2_bool_t value);
00116
00122 AXIS2_EXTERN int AXIS2_CALL
00123 axutil_param_get_param_type(struct axutil_param *param,
00124 const axutil_env_t *env);
00125
00126 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127 axutil_param_set_param_type(struct axutil_param *param,
00128 const axutil_env_t *env,
00129 int type);
00130
00131 AXIS2_EXTERN void AXIS2_CALL
00132 axutil_param_free(struct axutil_param *param,
00133 const axutil_env_t *env);
00134
00135 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136 axutil_param_set_attributes(struct axutil_param *param,
00137 const axutil_env_t *env,
00138 axutil_hash_t *attrs);
00139
00140 AXIS2_EXTERN axutil_hash_t* AXIS2_CALL
00141 axutil_param_get_attributes(struct axutil_param *param,
00142 const axutil_env_t *env);
00143
00144 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145 axutil_param_set_value_list(struct axutil_param *param,
00146 const axutil_env_t *env,
00147 axutil_array_list_t *value_list);
00148
00149 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL
00150 axutil_param_get_value_list(struct axutil_param *param,
00151 const axutil_env_t *env);
00152
00153 AXIS2_EXTERN void AXIS2_CALL
00154 axutil_param_value_free(void *param_value,
00155 const axutil_env_t *env);
00156
00157 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00158 axutil_param_set_value_free(struct axutil_param *param,
00159 const axutil_env_t *env,
00160 void *free_fn);
00161
00164 #ifdef __cplusplus
00165 }
00166 #endif
00167
00168 #endif