00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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