savan_filter_mod.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SAVAN_FILTER_MOD_H
00018 #define SAVAN_FILTER_MOD_H
00019
00024 #include <platforms/axutil_platform_auto_sense.h>
00025 #include <axutil_utils_defines.h>
00026 #include <axutil_env.h>
00027 #include <axis2_conf.h>
00028 #include <savan_subscriber.h>
00029 #include <axiom_node.h>
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00041 typedef struct savan_filter_mod savan_filter_mod_t;
00042 typedef struct savan_filter_mod_ops savan_filter_mod_ops_t;
00043
00048 AXIS2_DECLARE_DATA struct savan_filter_mod_ops
00049 {
00050 void (AXIS2_CALL *
00051 free)(
00052 savan_filter_mod_t *filter,
00053 const axutil_env_t *env);
00054
00055 axis2_bool_t (AXIS2_CALL *
00056 apply)(
00057 savan_filter_mod_t *filter,
00058 const axutil_env_t *env,
00059 savan_subscriber_t *subscriber,
00060 axiom_node_t *payload);
00061
00062
00063 };
00064
00065 AXIS2_DECLARE_DATA struct savan_filter_mod
00066 {
00067 const savan_filter_mod_ops_t *ops;
00068 };
00069
00070
00077 AXIS2_EXTERN savan_filter_mod_t * AXIS2_CALL
00078 savan_filter_mod_create(
00079 const axutil_env_t *env,
00080 axis2_conf_t *conf);
00081
00087 AXIS2_EXTERN void AXIS2_CALL
00088 savan_filter_mod_free(
00089 savan_filter_mod_t *filtermod,
00090 const axutil_env_t *envv);
00091
00100 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00101 savan_filter_mod_apply(
00102 savan_filter_mod_t *filtermod,
00103 const axutil_env_t *env,
00104 savan_subscriber_t *subscriber,
00105 axiom_node_t *payload);
00106
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111
00112 #endif