axis2_desc.h

00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_DESC_H
00019 #define AXIS2_DESC_H
00020 
00029 #include <axutil_param_container.h>
00030 #include <axutil_hash.h>
00031 #include <axis2_description.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00039     typedef struct axis2_desc axis2_desc_t;
00040     
00041     struct axis2_policy_include;
00042 
00048     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00049     axis2_desc_create (const axutil_env_t *env);
00050 
00057     AXIS2_EXTERN void AXIS2_CALL
00058     axis2_desc_free(axis2_desc_t *desc,
00059         const axutil_env_t *env);
00060 
00068     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00069     axis2_desc_add_param(axis2_desc_t *desc,
00070         const axutil_env_t *env,
00071         axutil_param_t *param);
00072 
00080     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00081     axis2_desc_get_param(const axis2_desc_t *desc,
00082         const axutil_env_t *env,
00083         const axis2_char_t *param_name);
00084 
00091     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00092     axis2_desc_get_all_params(const axis2_desc_t *desc,
00093         const axutil_env_t *env);
00094 
00102     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00103     axis2_desc_is_param_locked(const axis2_desc_t *desc,
00104         const axutil_env_t *env,
00105         const axis2_char_t *param_name);
00106 
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     axis2_desc_add_child(const axis2_desc_t *desc,
00120         const axutil_env_t *env,
00121         const axis2_char_t *key,
00122         const void *child);
00123 
00130     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00131     axis2_desc_get_all_children(const axis2_desc_t *desc,
00132         const axutil_env_t *env);
00133 
00142     AXIS2_EXTERN void *AXIS2_CALL
00143     axis2_desc_get_child(const axis2_desc_t *desc,
00144         const axutil_env_t *env,
00145         const axis2_char_t *key);
00146 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     axis2_desc_remove_child(const axis2_desc_t *desc,
00156         const axutil_env_t *env,
00157         const axis2_char_t *key);
00158     
00166     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00167     axis2_desc_set_parent(axis2_desc_t *desc,
00168         const axutil_env_t *env,
00169         axis2_desc_t *parent);
00170 
00177     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00178     axis2_desc_get_parent(const axis2_desc_t *desc,
00179         const axutil_env_t *env);
00180 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     axis2_desc_set_policy_include(axis2_desc_t *desc,
00183         const axutil_env_t *env,
00184         struct axis2_policy_include *policy_include);
00185 
00186     AXIS2_EXTERN struct axis2_policy_include *AXIS2_CALL
00187     axis2_desc_get_policy_include(axis2_desc_t *desc,
00188         const axutil_env_t *env);
00189 
00191 #ifdef __cplusplus
00192 }
00193 #endif
00194 #endif  /* AXIS2_DESC_H */

Generated on Wed Sep 26 09:49:20 2007 for Axis2/C by  doxygen 1.4.6