axutil_param.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
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                          /* AXIS2_PARAM_H */

Generated on Tue Jan 8 01:28:17 2008 for Axis2/C by  doxygen 1.5.1