axis2_policy_include.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_POLICY_INCLUDE_H
00019 #define AXIS2_POLICY_INCLUDE_H
00020 
00027 #include <axutil_array_list.h>
00028 #include <axis2_desc.h>
00029 #include <neethi_policy.h>
00030 #include <neethi_registry.h>
00031 #include <neethi_reference.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00039     typedef struct axis2_policy_include axis2_policy_include_t;
00040 
00041     typedef enum axis2_policy_types
00042     {
00043         AXIS2_POLICY = 0,
00044         AXIS2_MODULE_POLICY,
00045         AXIS2_SERVICE_POLICY,
00046         AXIS2_OPERATION_POLICY,
00047         AXIS2_MESSAGE_POLICY,
00048         AXIS2_PORT_POLICY,
00049         AXIS2_PORT_TYPE_POLICY,
00050         AXIS2_BINDING_POLICY,
00051         AXIS2_BINDING_OPERATION_POLICY,
00052         AXIS2_INPUT_POLICY,
00053         AXIS2_OUTPUT_POLICY,
00054         AXIS2_BINDING_INPUT_POLICY,
00055         AXIS2_BINDING_OUTPUT_POLICY,
00056         AXIS2_MODULE_OPERATION_POLICY,
00057         AXIS2_POLICY_REF,
00058         AXIS2_ANON_POLICY
00059     } axis2_policy_types;
00060 
00061    
00067     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00068     axis2_policy_include_create(const axutil_env_t *env);
00069 
00070     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00071     axis2_policy_include_create_with_desc(const axutil_env_t *env,
00072         axis2_desc_t *desc);
00073 
00080     AXIS2_EXTERN void AXIS2_CALL
00081     axis2_policy_include_free(axis2_policy_include_t *policy_include,
00082         const axutil_env_t *env);
00083 
00084 
00085     AXIS2_EXTERN void AXIS2_CALL
00086     axis2_policy_include_free(
00087         axis2_policy_include_t *policy_include,
00088         const axutil_env_t *env);
00089 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axis2_policy_include_set_registry(axis2_policy_include_t *policy_include,
00092         const axutil_env_t *env, 
00093         neethi_registry_t *registry);
00094 
00095     AXIS2_EXTERN neethi_registry_t *AXIS2_CALL
00096     axis2_policy_include_get_registry(axis2_policy_include_t *policy_include,
00097         const axutil_env_t *env);
00098 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100     axis2_policy_include_set_policy(axis2_policy_include_t *policy_include,
00101         const axutil_env_t *env, 
00102         neethi_policy_t *policy);
00103 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axis2_policy_include_update_policy(axis2_policy_include_t *policy_include,
00106         const axutil_env_t *env, 
00107         neethi_policy_t *policy);
00108 
00109     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00110     axis2_policy_include_set_effective_policy(axis2_policy_include_t *policy_include,
00111         const axutil_env_t *env, 
00112         neethi_policy_t *effective_policy);
00113 
00114     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115     axis2_policy_include_set_desc(axis2_policy_include_t *policy_include,
00116         const axutil_env_t *env, 
00117         axis2_desc_t *desc);
00118 
00119     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00120     axis2_policy_include_get_desc(axis2_policy_include_t *policy_include,
00121         const axutil_env_t *env);
00122 
00123     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00124     axis2_policy_include_get_parent(axis2_policy_include_t *policy_include,
00125         const axutil_env_t *env);
00126 
00127     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00128     axis2_policy_include_get_policy(axis2_policy_include_t *policy_include,
00129         const axutil_env_t *env);
00130 
00131     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00132     axis2_policy_include_get_effective_policy(axis2_policy_include_t *policy_include,
00133         const axutil_env_t *env);
00134 
00135     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00136     axis2_policy_include_get_policy_elements(axis2_policy_include_t *policy_include,
00137         const axutil_env_t *env);
00138 
00139     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00140     axis2_policy_include_get_policy_elements_with_type(axis2_policy_include_t *policy_include,
00141         const axutil_env_t *env,
00142         int type);
00143 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     axis2_policy_include_register_policy(axis2_policy_include_t *policy_include,
00146         const axutil_env_t *env,
00147         axis2_char_t *key,
00148         neethi_policy_t *effective_policy);
00149 
00150     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00151     axis2_policy_include_get_policy_with_key(axis2_policy_include_t *policy_include,
00152         const axutil_env_t *env,
00153         axis2_char_t *key);
00154 
00155     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00156     axis2_policy_include_add_policy_element(axis2_policy_include_t *policy_include,
00157         const axutil_env_t *env,
00158         int type,
00159         neethi_policy_t *policy);
00160 
00161     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162     axis2_policy_include_add_policy_reference_element(axis2_policy_include_t *policy_include,
00163         const axutil_env_t *env,
00164         int type,
00165         neethi_reference_t *reference);
00166 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axis2_policy_include_remove_policy_element(axis2_policy_include_t *policy_include,
00169         const axutil_env_t *env,
00170         axis2_char_t *policy_uri);
00171 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axis2_policy_include_remove_all_policy_element(axis2_policy_include_t *policy_include,
00174         const axutil_env_t *env);
00175 
00176 
00178 #ifdef __cplusplus
00179 }
00180 #endif
00181 #endif  /* AXIS2_POLICY_INCLUDE_H */

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