00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef NEETHI_POLICY_H
00019 #define NEETHI_POLICY_H
00020
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(const axutil_env_t *env);
00042
00043 AXIS2_EXTERN void AXIS2_CALL
00044 neethi_policy_free(neethi_policy_t *neethi_policy,
00045 const axutil_env_t *env);
00046
00047 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00048 neethi_policy_get_policy_components(
00049 neethi_policy_t *neethi_policy,
00050 const axutil_env_t *env);
00051
00052 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00053 neethi_policy_add_policy_components(
00054 neethi_policy_t *neethi_policy,
00055 axutil_array_list_t *arraylist,
00056 const axutil_env_t *env);
00057
00058 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00059 neethi_policy_add_operator(neethi_policy_t *neethi_policy,
00060 const axutil_env_t *env,
00061 neethi_operator_t *op);
00062
00063 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00064 neethi_policy_is_empty(neethi_policy_t *neethi_policy,
00065 const axutil_env_t *env);
00066
00067 AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL
00068 neethi_policy_get_exactlyone(
00069 neethi_policy_t *normalized_neethi_policy,
00070 const axutil_env_t *env);
00071
00072 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00073 neethi_policy_get_alternatives(
00074 neethi_policy_t *neethi_policy,
00075 const axutil_env_t *env);
00076
00077 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00078 neethi_policy_get_name(
00079 neethi_policy_t *neethi_policy,
00080 const axutil_env_t *env);
00081
00082 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083 neethi_policy_set_name(
00084 neethi_policy_t *neethi_policy,
00085 const axutil_env_t *env,
00086 axis2_char_t *name);
00087
00088 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089 neethi_policy_get_id(
00090 neethi_policy_t *neethi_policy,
00091 const axutil_env_t *env);
00092
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 neethi_policy_set_id(
00095 neethi_policy_t *neethi_policy,
00096 const axutil_env_t *env,
00097 axis2_char_t *id);
00098
00099 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00100 neethi_policy_serialize(
00101 neethi_policy_t *neethi_policy,
00102 axiom_node_t *parent,
00103 const axutil_env_t *env);
00104
00105 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106 neethi_policy_set_components_null(
00107 neethi_policy_t *policy,
00108 const axutil_env_t *env);
00109
00110 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111 neethi_policy_set_root_node(
00112 neethi_policy_t *policy,
00113 const axutil_env_t *env,
00114 axiom_node_t *root_node);
00115
00116
00118 #ifdef __cplusplus
00119 }
00120 #endif
00121
00122 #endif