00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef NEETHI_POLICY_H
00020 #define NEETHI_POLICY_H
00021
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_operator.h>
00030 #include <neethi_includes.h>
00031 #include <neethi_exactlyone.h>
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00038 typedef struct neethi_policy_t neethi_policy_t;
00039
00040 AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00041 neethi_policy_create(
00042 const axutil_env_t * env);
00043
00044 AXIS2_EXTERN void AXIS2_CALL
00045 neethi_policy_free(
00046 neethi_policy_t * neethi_policy,
00047 const axutil_env_t * env);
00048
00049 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00050 neethi_policy_get_policy_components(
00051 neethi_policy_t * neethi_policy,
00052 const axutil_env_t * env);
00053
00054 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055 neethi_policy_add_policy_components(
00056 neethi_policy_t * neethi_policy,
00057 axutil_array_list_t * arraylist,
00058 const axutil_env_t * env);
00059
00060 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061 neethi_policy_add_operator(
00062 neethi_policy_t * neethi_policy,
00063 const axutil_env_t * env,
00064 neethi_operator_t * op);
00065
00066 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067 neethi_policy_is_empty(
00068 neethi_policy_t * neethi_policy,
00069 const axutil_env_t * env);
00070
00071 AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL
00072 neethi_policy_get_exactlyone(
00073 neethi_policy_t * normalized_neethi_policy,
00074 const axutil_env_t * env);
00075
00076 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00077 neethi_policy_get_alternatives(
00078 neethi_policy_t * neethi_policy,
00079 const axutil_env_t * env);
00080
00081 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00082 neethi_policy_get_name(
00083 neethi_policy_t * neethi_policy,
00084 const axutil_env_t * env);
00085
00086 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087 neethi_policy_set_name(
00088 neethi_policy_t * neethi_policy,
00089 const axutil_env_t * env,
00090 axis2_char_t * name);
00091
00092 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00093 neethi_policy_get_id(
00094 neethi_policy_t * neethi_policy,
00095 const axutil_env_t * env);
00096
00097 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098 neethi_policy_set_id(
00099 neethi_policy_t * neethi_policy,
00100 const axutil_env_t * env,
00101 axis2_char_t * id);
00102
00103 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00104 neethi_policy_serialize(
00105 neethi_policy_t * neethi_policy,
00106 axiom_node_t * parent,
00107 const axutil_env_t * env);
00108
00109 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00110 neethi_policy_set_root_node(
00111 neethi_policy_t * policy,
00112 const axutil_env_t * env,
00113 axiom_node_t * root_node);
00114
00115 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00116 neethi_policy_get_attributes(
00117 neethi_policy_t *neethi_policy,
00118 const axutil_env_t *env);
00119
00120
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125
00126 #endif