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