savan_sub_processor.h

Go to the documentation of this file.
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_SUB_PROCESSOR_H
00018  #define SAVAN_SUB_PROCESSOR_H
00019  
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axis2_conf_ctx.h>
00036 #include <axutil_array_list.h>
00037 #include <savan_subscriber.h>
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043     
00044     typedef struct savan_sub_processor savan_sub_processor_t;
00045     struct savan_subs_mgr;
00046 
00056     axis2_status_t AXIS2_CALL
00057     savan_sub_processor_subscribe(
00058         savan_sub_processor_t *sub_processor,
00059         const axutil_env_t *env,
00060         axis2_msg_ctx_t *msg_ctx);
00061 
00071     axis2_status_t AXIS2_CALL
00072     savan_sub_processor_unsubscribe(
00073         savan_sub_processor_t *sub_processor,
00074         const axutil_env_t *env,
00075         axis2_msg_ctx_t *msg_ctx);
00076 
00086     axis2_status_t AXIS2_CALL
00087     savan_sub_processor_renew_subscription(
00088         savan_sub_processor_t *sub_processor,
00089         const axutil_env_t *env,
00090         axis2_msg_ctx_t *msg_ctx);
00091 
00100     axis2_status_t AXIS2_CALL
00101     savan_sub_processor_get_status(
00102         savan_sub_processor_t *sub_processor,
00103         const axutil_env_t *env,
00104         axis2_msg_ctx_t *msg_ctx);
00105 
00111     AXIS2_EXTERN savan_sub_processor_t * AXIS2_CALL
00112     savan_sub_processor_create(
00113         const axutil_env_t *env,
00114         struct savan_subs_mgr *subs_mgr);
00115     
00121     AXIS2_EXTERN void AXIS2_CALL 
00122     savan_sub_processor_free(
00123         savan_sub_processor_t * sub_processor,
00124         const axutil_env_t * env);
00125  
00126     AXIS2_EXTERN savan_subscriber_t *AXIS2_CALL
00127     savan_sub_processor_get_subscriber_from_msg(
00128         const axutil_env_t *env,
00129         axis2_msg_ctx_t *msg_ctx,
00130         struct savan_subs_mgr *subs_mgr,
00131         const axis2_char_t *sub_id);
00132 
00133     AXIS2_EXTERN savan_subscriber_t *AXIS2_CALL
00134     savan_sub_processor_get_subscriber_from_renew_msg(
00135         const axutil_env_t *env,
00136         axis2_msg_ctx_t *msg_ctx,
00137         struct savan_subs_mgr *subs_mgr,
00138         const axis2_char_t *sub_id);
00139 
00140     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00141     savan_sub_processor_add_subscriber(
00142         const axutil_env_t *env,
00143         axis2_msg_ctx_t *msg_ctx,
00144         struct savan_subs_mgr *subs_mgr,
00145         savan_subscriber_t *subscriber);
00146 
00147     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148     savan_sub_processor_update_subscriber(
00149         const axutil_env_t *env,
00150         axis2_msg_ctx_t *msg_ctx,
00151         struct savan_subs_mgr *subs_mgr,
00152         savan_subscriber_t *subscriber);
00153 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     savan_sub_processor_remove_subscriber(
00156         const axutil_env_t *env,
00157         axis2_msg_ctx_t *msg_ctx,
00158         struct savan_subs_mgr *subs_mgr,
00159         savan_subscriber_t *subscriber);
00160 
00161    
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166   
00167 #endif /* SAVAN_SUB_PROCESSOR_H */

Generated on Wed Oct 14 01:02:18 2009 for Savan/C by  doxygen 1.5.7.1