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