00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_OM_NAMESPACE_H
00018 #define AXIS2_OM_NAMESPACE_H
00019
00026 #include <axis2_defines.h>
00027 #include <axis2_env.h>
00028 #include <axis2_om_output.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 struct axis2_om_namespace;
00036 struct axis2_om_namespace_ops;
00037
00048 AXIS2_DECLARE_DATA typedef struct axis2_om_namespace_ops
00049 {
00056 axis2_status_t (AXIS2_CALL *free) (struct axis2_om_namespace *om_namespace,
00057 axis2_env_t **env);
00058
00066 axis2_bool_t (AXIS2_CALL *equals)(struct axis2_om_namespace *om_namespace,
00067 axis2_env_t **env,
00068 struct axis2_om_namespace *om_namespace1);
00069
00077 axis2_status_t (AXIS2_CALL *serialize)(struct axis2_om_namespace *om_namespace,
00078 axis2_env_t **env,
00079 axis2_om_output_t * om_output);
00085 axis2_char_t* (AXIS2_CALL *get_uri)(struct axis2_om_namespace *om_namespace,
00086 axis2_env_t **env);
00092 axis2_char_t* (AXIS2_CALL *get_prefix)(struct axis2_om_namespace *om_namespace,
00093 axis2_env_t **env);
00100 axis2_status_t (AXIS2_CALL *set_uri)(struct axis2_om_namespace *om_namespace,
00101 axis2_env_t **env,
00102 const axis2_char_t *uri);
00110 axis2_status_t (AXIS2_CALL *set_prefix)(struct axis2_om_namespace *om_namespace,
00111 axis2_env_t **env,
00112 const axis2_char_t *prefix);
00113
00114 } axis2_om_namespace_ops_t;
00115
00120 typedef struct axis2_om_namespace
00121 {
00123 axis2_om_namespace_ops_t *ops;
00124
00125 } axis2_om_namespace_t;
00126
00133 AXIS2_DECLARE(axis2_om_namespace_t *)
00134 axis2_om_namespace_create (axis2_env_t **env,
00135 const axis2_char_t * uri,
00136 const axis2_char_t *prefix);
00137
00139 #define AXIS2_OM_NAMESPACE_FREE(om_namespace,env) \
00140 ((om_namespace)->ops->free(om_namespace, env))
00141
00143 #define AXIS2_OM_NAMESPACE_EQUALS(om_namespace, env, om_namespace1) \
00144 ((om_namespace)->ops->equals(om_namespace, env, om_namespace1))
00145
00147 #define AXIS2_OM_NAMESPACE_SERIALIZE(om_namespace,env, om_output) \
00148 ((om_namespace)->ops->serialize(om_namespace, env,om_output))
00150 #define AXIS2_OM_NAMESPACE_GET_PREFIX(om_namespace, env) \
00151 ((om_namespace)->ops->get_prefix(om_namespace, env))
00153 #define AXIS2_OM_NAMESPACE_GET_URI(om_namespace, env) \
00154 ((om_namespace)->ops->get_uri(om_namespace, env))
00156 #define AXIS2_OM_NAMESPACE_SET_URI(om_namespace, env, uri) \
00157 ((om_namespace)->ops->set_uri(om_namespace, env, uri))
00159 #define AXIS2_OM_NAMESPACE_SET_PREFIX(om_namespace, env, prefix) \
00160 ((om_namespace)->ops->set_prefix(om_namesapce, env, prefix))
00161
00164 #ifdef __cplusplus
00165 }
00166 #endif
00167
00168 #endif