savan_filter_mod.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_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 /*SAVAN_FILTER_MOD_H*/

Generated on Wed Oct 14 01:02:18 2009 for Savan/C by  doxygen 1.5.7.1