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 #include <axis2_conf_ctx.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
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 
00075         /*
00076         * Set the filter template into the subscriber.
00077         * @param subscriber pointer to the subscriber
00078         * @param env pointer to env
00079         * @param xslt template pointer to the stylesheet
00080         */
00081 
00082         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083         savan_subscriber_set_filter_template(
00084         savan_subscriber_t *subscriber,
00085         const axutil_env_t *env,
00086         void* xslt_filter_template);
00087 
00088         /*
00089         * Get the filter template from the subscriber.
00090         * needs to cast into a xsltStylesheepPtr
00091         * @param subscriber pointer to the subscriber
00092         * @param env pointer to env
00093         * @param xslt template pointer to the stylesheet
00094         */
00095 
00096         AXIS2_EXTERN void* AXIS2_CALL
00097         savan_subscriber_get_filter_template(
00098         savan_subscriber_t *subscriber,
00099         const axutil_env_t *env);
00100 
00107     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00108     savan_subscriber_get_id(
00109         savan_subscriber_t *subscriber,
00110         const axutil_env_t *env);
00111     
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     savan_subscriber_set_id(
00120         savan_subscriber_t *subscriber,
00121         const axutil_env_t *env,
00122         const axis2_char_t *id);
00123     
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     savan_subscriber_set_end_to(
00132         savan_subscriber_t *subscriber,
00133         const axutil_env_t *env,
00134         axis2_endpoint_ref_t *end_to);
00135  
00142     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00143     savan_subscriber_get_end_to(
00144         savan_subscriber_t *subscriber,
00145         const axutil_env_t *env);
00146                
00153         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00154     savan_subscriber_set_notify_to(
00155         savan_subscriber_t *subscriber,
00156         const axutil_env_t *env,
00157         axis2_endpoint_ref_t *notify_to);
00158 
00165     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00166     savan_subscriber_get_notify_to(
00167         savan_subscriber_t *subscriber,
00168         const axutil_env_t *env);
00169 
00176     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177     savan_subscriber_set_delivery_mode(
00178         savan_subscriber_t *subscriber,
00179         const axutil_env_t *env,
00180         const axis2_char_t *mode);
00181 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189     savan_subscriber_set_expires(
00190         savan_subscriber_t *subscriber,
00191         const axutil_env_t *env,
00192         const axis2_char_t *expires);
00193 
00200     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00201     savan_subscriber_get_expires(
00202         savan_subscriber_t *subscriber,
00203         const axutil_env_t *env);
00204 
00211     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00212     savan_subscriber_set_filter(
00213         savan_subscriber_t *subscriber,
00214         const axutil_env_t *env,
00215         const axis2_char_t *filter);
00216 
00223     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00224     savan_subscriber_get_filter(
00225         savan_subscriber_t *subscriber,
00226         const axutil_env_t *env);
00227 
00235     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00236     savan_subscriber_publish(
00237         savan_subscriber_t *subscriber,
00238         const axutil_env_t *env,
00239         axiom_node_t *payload);
00240 
00248     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00249     savan_subscriber_set_renew_status(
00250         savan_subscriber_t *subscriber,
00251         const axutil_env_t *env,
00252         axis2_bool_t renewed);
00253 
00261     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00262     savan_subscriber_get_renew_status(
00263         savan_subscriber_t *subscriber,
00264         const axutil_env_t *env);
00265 
00271     AXIS2_EXTERN savan_subscriber_t * AXIS2_CALL
00272     savan_subscriber_create(
00273         const axutil_env_t *env);
00274    
00275     AXIS2_EXTERN void AXIS2_CALL
00276     savan_subscriber_free(
00277         savan_subscriber_t *subscriber, 
00278         const axutil_env_t *env);
00279 
00280     AXIS2_EXTERN void AXIS2_CALL
00281     savan_subscriber_free_void_arg(
00282         void *subscriber, 
00283         const axutil_env_t *env);
00284 
00285     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00286         savan_subscriber_set_topic(
00287         savan_subscriber_t *subscriber,
00288         const axutil_env_t *env,
00289         axis2_char_t *topic);
00290 
00291     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00292     savan_subscriber_get_topic(
00293         savan_subscriber_t *subscriber,
00294         const axutil_env_t *env);
00295 
00297 #ifdef __cplusplus
00298 }
00299 #endif
00300 
00301 #endif /* SAVAN_SUBSCRIBER_H */

Generated on Sun Oct 7 14:37:10 2007 for Savan/C by  doxygen 1.5.1