axis2_policy_include.h

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

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