# savan_subscriber.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_SUBSCRIBER_H
    00018 #define SAVAN_SUBSCRIBER_H
    00019
    00031 #include <axis2_defines.h>
    00032 #include <axutil_env.h>
    00033
    00034 #ifdef __cplusplus
    00035 extern "C"
    00036 {
    00037 #endif
    00038
    00039     struct savan_filter_mod;
    00040     typedef struct savan_subscriber_t savan_subscriber_t;
    00041
    00042         /* Set the filter dialect
    00043          * @param subscriber pointer to the subscriber
    00044          * @param env pointer to the environment
    00045          * @param filter_dailect pointer to the dialect
    00046          */
    00047
    00048         AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00049         savan_subscriber_set_filter_dialect(
    00050                 savan_subscriber_t *subscriber,
    00051         const axutil_env_t *env,
    00052         const axis2_char_t *filter_dialect);
    00053
    00054         /* Get the filter dialect
    00055          * @param subscriber pointer to the filter dialect
    00056          * @param env pointer to the enviornment
    00057          */
    00058
    00059         AXIS2_EXTERN axis2_char_t * AXIS2_CALL
    00060         savan_subscriber_get_filter_dialect(
    00061                 savan_subscriber_t *subscriber,
    00062         const axutil_env_t *env);
    00063
    00064         /*
    00065         * Get the delivery mode
    00066         * @param subscriber pointer to the subscriber
    00067         * @param env pointer to the environment
    00068         */
    00069
    00070         AXIS2_EXTERN axis2_char_t * AXIS2_CALL
    00071                 savan_subscriber_get_delivery_mode(
    00072         savan_subscriber_t *subscriber,
    00073         const axutil_env_t *env);
    00074
    00081     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
    00082     savan_subscriber_get_id(
    00083         savan_subscriber_t *subscriber,
    00084         const axutil_env_t *env);
    00085
    00092     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00093     savan_subscriber_set_id(
    00094         savan_subscriber_t *subscriber,
    00095         const axutil_env_t *env,
    00096         const axis2_char_t *id);
    00097
    00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00105     savan_subscriber_set_end_to(
    00106         savan_subscriber_t *subscriber,
    00107         const axutil_env_t *env,
    00108         axis2_endpoint_ref_t *end_to);
    00109
    00116     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
    00117     savan_subscriber_get_end_to(
    00118         savan_subscriber_t *subscriber,
    00119         const axutil_env_t *env);
    00120
    00127         AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00128     savan_subscriber_set_notify_to(
    00129         savan_subscriber_t *subscriber,
    00130         const axutil_env_t *env,
    00131         axis2_endpoint_ref_t *notify_to);
    00132
    00139     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
    00140     savan_subscriber_get_notify_to(
    00141         savan_subscriber_t *subscriber,
    00142         const axutil_env_t *env);
    00143
    00150     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00151     savan_subscriber_set_delivery_mode(
    00152         savan_subscriber_t *subscriber,
    00153         const axutil_env_t *env,
    00154         const axis2_char_t *mode);
    00155
    00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00163     savan_subscriber_set_expires(
    00164         savan_subscriber_t *subscriber,
    00165         const axutil_env_t *env,
    00166         const axis2_char_t *expires);
    00167
    00174     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
    00175     savan_subscriber_get_expires(
    00176         savan_subscriber_t *subscriber,
    00177         const axutil_env_t *env);
    00178
    00185     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00186     savan_subscriber_set_filter(
    00187         savan_subscriber_t *subscriber,
    00188         const axutil_env_t *env,
    00189         const axis2_char_t *filter);
    00190
    00197     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00198     savan_subscriber_get_filter(
    00199         savan_subscriber_t *subscriber,
    00200         const axutil_env_t *env);
    00201
    00209     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00210     savan_subscriber_set_renew_status(
    00211         savan_subscriber_t *subscriber,
    00212         const axutil_env_t *env,
    00213         axis2_bool_t renewed);
    00214
    00222     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00223     savan_subscriber_get_renew_status(
    00224         savan_subscriber_t *subscriber,
    00225         const axutil_env_t *env);
    00226
    00232     AXIS2_EXTERN savan_subscriber_t * AXIS2_CALL
    00233     savan_subscriber_create(
    00234         const axutil_env_t *env);
    00235
    00236     AXIS2_EXTERN void AXIS2_CALL
    00237     savan_subscriber_free(
    00238         savan_subscriber_t *subscriber,
    00239         const axutil_env_t *env);
    00240
    00241     AXIS2_EXTERN void AXIS2_CALL
    00242     savan_subscriber_free_void_arg(
    00243         void *subscriber,
    00244         const axutil_env_t *env);
    00245
    00247 #ifdef __cplusplus
    00248 }
    00249 #endif
    00250
    00251 #endif /* SAVAN_SUBSCRIBER_H */