00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SAVAN_UTIL_H
00018 #define SAVAN_UTIL_H
00019
00020 #include <axis2_const.h>
00021 #include <axutil_error.h>
00022 #include <axutil_hash.h>
00023 #include <axis2_defines.h>
00024 #include <axutil_utils_defines.h>
00025 #include <axutil_env.h>
00026 #include <axutil_allocator.h>
00027 #include <axis2_msg_ctx.h>
00028
00029 #include <savan_constants.h>
00030 #include <savan_subscriber.h>
00031 #include <savan_sub_processor.h>
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00055 axis2_status_t AXIS2_CALL
00056 savan_util_create_fault_envelope(
00057 axis2_msg_ctx_t *msg_ctx,
00058 const axutil_env_t *env,
00059 axis2_char_t *code,
00060 axis2_char_t *subcode,
00061 axis2_char_t *reason,
00062 axis2_char_t *detail);
00063
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00095 axiom_node_t * AXIS2_CALL
00096 savan_util_build_fault_msg(
00097 const axutil_env_t *env,
00098 axis2_char_t * code,
00099 axis2_char_t * subcode,
00100 axis2_char_t * reason,
00101 axis2_char_t * detail);
00102
00113 axis2_status_t AXIS2_CALL
00114 savan_util_apply_filter(
00115 savan_subscriber_t *subscriber,
00116 const axutil_env_t *env,
00117 axiom_node_t *payload);
00118
00128 #ifdef SAVAN_FILTERING
00129 axis2_status_t AXIS2_CALL
00130 savan_util_set_filter_template_for_subscriber(
00131 savan_subscriber_t *subscriber,
00132 const axutil_env_t *env);
00133 #endif
00134
00135 savan_message_types_t AXIS2_CALL
00136 savan_util_get_message_type(
00137 axis2_msg_ctx_t *msg_ctx,
00138 const axutil_env_t *env);
00139
00148 axis2_char_t * AXIS2_CALL
00149 savan_util_get_subscription_id_from_msg(
00150 const axutil_env_t *env,
00151 axis2_msg_ctx_t *msg_ctx);
00152
00162 savan_subscriber_t * AXIS2_CALL
00163 savan_util_get_subscriber_from_msg(
00164 const axutil_env_t *env,
00165 axis2_msg_ctx_t *msg_ctx,
00166 axis2_char_t *sub_id);
00167
00178 axutil_hash_t * AXIS2_CALL
00179 savan_util_get_subscriber_store(
00180 const axutil_env_t *env,
00181 axis2_msg_ctx_t *msg_ctx);
00182
00194 axis2_status_t AXIS2_CALL
00195 savan_util_add_subscriber(
00196 const axutil_env_t *env,
00197 axis2_msg_ctx_t *msg_ctx,
00198 savan_subscriber_t *subscriber);
00199
00200 axis2_status_t AXIS2_CALL
00201 savan_util_update_subscriber(
00202 const axutil_env_t *env,
00203 axis2_msg_ctx_t *msg_ctx,
00204 savan_subscriber_t *subscriber);
00205
00217 axis2_status_t AXIS2_CALL
00218 savan_util_remove_subscriber(
00219 const axutil_env_t *env,
00220 axis2_msg_ctx_t *msg_ctx,
00221 savan_subscriber_t *subscriber);
00222
00229 axis2_char_t * AXIS2_CALL
00230 savan_util_get_expiry_time(
00231 const axutil_env_t *env);
00232
00240 axis2_char_t * AXIS2_CALL
00241 savan_util_get_renewed_expiry_time(
00242 const axutil_env_t *env,
00243 axis2_char_t *expiry);
00244
00251 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00252 savan_util_set_store(
00253 axis2_svc_t *svc,
00254 const axutil_env_t *env,
00255 axis2_char_t *store_name);
00256
00264 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00265 savan_util_get_subscriber_list_from_remote_subs_mgr(
00266 const axutil_env_t *env,
00267 axis2_char_t *topic,
00268 axis2_char_t *subs_mgr_url,
00269 void *svc_client);
00270
00271 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00272 savan_util_get_topic_name_from_topic_url(
00273 const axutil_env_t *env,
00274 axis2_char_t *topic_url);
00275
00282 axutil_array_list_t *AXIS2_CALL
00283 savan_util_get_topic_list_from_remote_subs_mgr(
00284 const axutil_env_t *env,
00285 axis2_char_t *subs_mgr_url,
00286 void *s_client);
00287
00288 savan_subscriber_t *AXIS2_CALL
00289 savan_util_get_subscriber_from_remote_subs_mgr(
00290 const axutil_env_t *env,
00291 axis2_char_t *subs_id,
00292 axis2_char_t *subs_mgr_url,
00293 void *s_client);
00294
00295 void *AXIS2_CALL
00296 savan_util_get_svc_client(
00297 const axutil_env_t *env);
00298
00300 #ifdef __cplusplus
00301 }
00302 #endif
00303
00304 #endif