# 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 */