include/savan_subscriber.h (97 lines of code) (raw):

/* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef SAVAN_SUBSCRIBER_H #define SAVAN_SUBSCRIBER_H /** * @defgroup savan_subscribers * @ingroup savan_subscribers * subscriber represents a client subscribing to an eventing service * @{ */ /** * @file savan_sub_processor.h */ #include <axis2_defines.h> #include <axutil_env.h> #ifdef __cplusplus extern "C" { #endif struct savan_filter_mod; typedef struct savan_subscriber_t savan_subscriber_t; /* Set the filter dialect * @param subscriber pointer to the subscriber * @param env pointer to the environment * @param filter_dailect pointer to the dialect */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_filter_dialect( savan_subscriber_t *subscriber, const axutil_env_t *env, const axis2_char_t *filter_dialect); /* Get the filter dialect * @param subscriber pointer to the filter dialect * @param env pointer to the enviornment */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL savan_subscriber_get_filter_dialect( savan_subscriber_t *subscriber, const axutil_env_t *env); /* * Get the delivery mode * @param subscriber pointer to the subscriber * @param env pointer to the environment */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL savan_subscriber_get_delivery_mode( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Retrive subscriber id. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @return the unique id assigned to the subscriber */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL savan_subscriber_get_id( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Set id. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param id the id */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_id( savan_subscriber_t *subscriber, const axutil_env_t *env, const axis2_char_t *id); /** * Set EndTo end point. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param end_to the EndTo reference */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_end_to( savan_subscriber_t *subscriber, const axutil_env_t *env, axis2_endpoint_ref_t *end_to); /** * Get EndTo end point. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @return end_to */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL savan_subscriber_get_end_to( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Set NotifyTo end point. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param notify_to the NotifyTo reference */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_notify_to( savan_subscriber_t *subscriber, const axutil_env_t *env, axis2_endpoint_ref_t *notify_to); /** * Get NotifyTo end point. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @return notify_to */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL savan_subscriber_get_notify_to( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Set delivery mode. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param mode the delivery mode */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_delivery_mode( savan_subscriber_t *subscriber, const axutil_env_t *env, const axis2_char_t *mode); /** * Set expires. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param expires the expires date and time */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_expires( savan_subscriber_t *subscriber, const axutil_env_t *env, const axis2_char_t *expires); /** * Get expires. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @return expire date and time as string */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL savan_subscriber_get_expires( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Set filter. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param filter the filter string */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_filter( savan_subscriber_t *subscriber, const axutil_env_t *env, const axis2_char_t *filter); /** * Get filter. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @return filter the filter string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL savan_subscriber_get_filter( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Set whether the subscription is renewed or not. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param msg_ctx the msg to be published * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL savan_subscriber_set_renew_status( savan_subscriber_t *subscriber, const axutil_env_t *env, axis2_bool_t renewed); /** * Check whether the subscription is renewed or not. * @param subscriber pointer to subscriber * @param env pointer to environment struct * @param msg_ctx the msg to be published * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL savan_subscriber_get_renew_status( savan_subscriber_t *subscriber, const axutil_env_t *env); /** * Creates a subscriber instance. * @param env pointer to environment struct * @return pointer to newly created subscriber struct */ AXIS2_EXTERN savan_subscriber_t * AXIS2_CALL savan_subscriber_create( const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL savan_subscriber_free( savan_subscriber_t *subscriber, const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL savan_subscriber_free_void_arg( void *subscriber, const axutil_env_t *env); /** @} */ #ifdef __cplusplus } #endif #endif /* SAVAN_SUBSCRIBER_H */