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 
00060     typedef void(
00061         AXIS2_CALL
00062         * AXIS2_PARAM_VALUE_FREE) (
00063             void *param_value,
00064             const axutil_env_t * env);
00065 
00069     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00070     axutil_param_create(
00071         const axutil_env_t * env,
00072         axis2_char_t * name,
00073         void *value);
00074 
00079     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00080     axutil_param_get_name(
00081         struct axutil_param *param,
00082         const axutil_env_t * env);
00083 
00088     AXIS2_EXTERN void *AXIS2_CALL
00089     axutil_param_get_value(
00090         struct axutil_param *param,
00091         const axutil_env_t * env);
00092 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axutil_param_set_name(
00099         struct axutil_param *param,
00100         const axutil_env_t * env,
00101         const axis2_char_t * name);
00102 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axutil_param_set_value(
00110         struct axutil_param *param,
00111         const axutil_env_t * env,
00112         const void *value);
00113 
00119     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00120     axutil_param_is_locked(
00121         struct axutil_param *param,
00122         const axutil_env_t * env);
00123 
00129     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130     axutil_param_set_locked(
00131         struct axutil_param *param,
00132         const axutil_env_t * env,
00133         axis2_bool_t value);
00134 
00140     AXIS2_EXTERN int AXIS2_CALL
00141     axutil_param_get_param_type(
00142         struct axutil_param *param,
00143         const axutil_env_t * env);
00144 
00145     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146     axutil_param_set_param_type(
00147         struct axutil_param *param,
00148         const axutil_env_t * env,
00149         int type);
00150 
00151     AXIS2_EXTERN void AXIS2_CALL
00152     axutil_param_free(
00153         struct axutil_param *param,
00154         const axutil_env_t * env);
00155 
00156     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157     axutil_param_set_attributes(
00158         struct axutil_param *param,
00159         const axutil_env_t * env,
00160         axutil_hash_t * attrs);
00161 
00162     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00163     axutil_param_get_attributes(
00164         struct axutil_param *param,
00165         const axutil_env_t * env);
00166 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axutil_param_set_value_list(
00169         struct axutil_param *param,
00170         const axutil_env_t * env,
00171         axutil_array_list_t * value_list);
00172 
00173     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00174     axutil_param_get_value_list(
00175         struct axutil_param *param,
00176         const axutil_env_t * env);
00177 
00178     AXIS2_EXTERN void AXIS2_CALL
00179     axutil_param_value_free(
00180         void *param_value,
00181         const axutil_env_t * env);
00182 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axutil_param_set_value_free(
00185         struct axutil_param *param,
00186         const axutil_env_t * env,
00187         AXIS2_PARAM_VALUE_FREE free_fn);
00188 
00189     AXIS2_EXTERN void AXIS2_CALL
00190     axutil_param_dummy_free_fn(
00191         void *param,
00192         const axutil_env_t * env);
00193 
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199 
00200 #endif                          /* AXIS2_PARAM_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3