savan_util.h

00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License")
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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         int AXIS2_CALL
00076         savan_util_send_fault_notification(
00077         savan_subscriber_t *subscriber,
00078         const axutil_env_t *env,
00079         axis2_char_t * code,
00080         axis2_char_t * subcode,
00081         axis2_char_t * reason,
00082         axis2_char_t * detail);
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 /*SAVAN_UTIL_H*/

Generated on Sun Oct 7 11:06:39 2007 for Savan/C by  doxygen 1.5.1