# 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 */