00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef NEETHI_OPERATOR_H
00019 #define NEETHI_OPERATOR_H
00020
00021
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030
00031
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036
00037
00038 typedef enum {
00039 OPERATOR_TYPE_POLICY = 0,
00040 OPERATOR_TYPE_ALL,
00041 OPERATOR_TYPE_EXACTLYONE,
00042 OPERATOR_TYPE_REFERENCE,
00043 OPERATOR_TYPE_ASSERTION,
00044 OPERATOR_TYPE_UNKNOWN
00045 }neethi_operator_type_t;
00046
00047 typedef struct neethi_operator_t neethi_operator_t;
00048
00049
00050 AXIS2_EXTERN neethi_operator_t *AXIS2_CALL
00051 neethi_operator_create(const axutil_env_t *env);
00052
00053 AXIS2_EXTERN void AXIS2_CALL
00054 neethi_operator_free(neethi_operator_t *neethi_operator,
00055 const axutil_env_t *env);
00056
00057 AXIS2_EXTERN neethi_operator_type_t AXIS2_CALL
00058 neethi_operator_get_type(neethi_operator_t *neethi_operator,
00059 const axutil_env_t *env);
00060
00061 AXIS2_EXTERN void *AXIS2_CALL
00062 neethi_operator_get_value(
00063 neethi_operator_t *neethi_operator,
00064 const axutil_env_t *env);
00065
00066 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067 neethi_operator_set_value(neethi_operator_t *neethi_operator,
00068 const axutil_env_t *env,
00069 void *value,
00070 neethi_operator_type_t type);
00071
00072 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073 neethi_operator_serialize(
00074 neethi_operator_t *neethi_operator,
00075 const axutil_env_t *env,
00076 axiom_node_t *parent);
00077
00078 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079 neethi_operator_set_value_null(
00080 neethi_operator_t *neethi_operator,
00081 const axutil_env_t *env);
00082
00083 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084 neethi_operator_increment_ref(
00085 neethi_operator_t *neethi_operator,
00086 const axutil_env_t *env);
00087
00088
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093
00094 #endif