00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OPENSYNC_FILTER_INTERNALS_H_
00022 #define _OPENSYNC_FILTER_INTERNALS_H_
00023
00031
00032
00033 typedef struct OSyncFilter OSyncFilter;
00034 typedef struct OSyncCustomFilter OSyncCustomFilter;
00035
00037 typedef enum OSyncFilterAction {
00039 OSYNC_FILTER_IGNORE = 0,
00041 OSYNC_FILTER_ALLOW = 1,
00043 OSYNC_FILTER_DENY = 2
00044 } OSyncFilterAction;
00045
00046 typedef osync_bool (* OSyncFilterFunction) (OSyncData *data, const char *config);
00047
00055 OSYNC_TEST_EXPORT OSyncFilter *osync_filter_new(const char *objtype, OSyncFilterAction action, OSyncError **error);
00056
00065 OSYNC_TEST_EXPORT OSyncFilter *osync_filter_new_custom(OSyncCustomFilter *custom_filter, const char *config, OSyncFilterAction action, OSyncError **error);
00066
00072 OSyncFilter *osync_filter_ref(OSyncFilter *filter);
00073
00079 OSYNC_TEST_EXPORT void osync_filter_unref(OSyncFilter *filter);
00080
00088 OSYNC_TEST_EXPORT void osync_filter_set_config(OSyncFilter *filter, const char *config);
00089
00095 OSYNC_TEST_EXPORT const char *osync_filter_get_config(OSyncFilter *filter);
00096
00102 OSYNC_TEST_EXPORT const char *osync_filter_get_objtype(OSyncFilter *filter);
00103
00110 OSyncFilterAction osync_filter_invoke(OSyncFilter *filter, OSyncData *data);
00111
00121 OSYNC_TEST_EXPORT OSyncCustomFilter *osync_custom_filter_new(const char *objtype, const char *objformat, const char *name, OSyncFilterFunction hook, OSyncError **error);
00122
00128 OSyncCustomFilter *osync_custom_filter_ref(OSyncCustomFilter *filter);
00129
00135 OSYNC_TEST_EXPORT void osync_custom_filter_unref(OSyncCustomFilter *filter);
00136
00144 osync_bool osync_custom_filter_invoke(OSyncCustomFilter *filter, OSyncData *data, const char *config);
00145
00148 #endif
00149