From faac871501ee1935cdbaf044e2f8ac4dc00eadc2 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 2 Jul 2001 15:03:49 +0000 Subject: new method to get an application-initialized filter driver. * camel-session.c (camel_session_get_filter_driver): new method to get an application-initialized filter driver. * camel-filter-driver.c (camel_filter_driver_new): Remove the get_folder function and data args from here... (camel_filter_driver_set_folder_func): ...and add this function to set/change them. * providers/imap/camel-imap-folder.c (camel_imap_folder_new): If this folder is INBOX and we're filtering INBOX, set a flag on the folder for later. (imap_update_summary): Add another argument (GPtrArray *recents), and if it's non-NULL, add the uids of any \Recent new messages to it. (camel_imap_folder_changed): If doing filtering in this folder, create a recents array and pass it to imap_update_summary. Then get a filter driver and use it to filter the recent messages. * providers/imap/camel-imap-summary.h: * providers/imap/camel-imap-utils.c (imap_parse_flag_list): Add support for the \Recent flag. * providers/imap/camel-imap-provider.c (imap_conf_entries): enable the "filter" option. * camel-types.h: add CamelFilterDriver typedef here svn path=/trunk/; revision=10681 --- camel/camel-filter-driver.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'camel/camel-filter-driver.h') diff --git a/camel/camel-filter-driver.h b/camel/camel-filter-driver.h index fc72fa1485..7f4f3f7f15 100644 --- a/camel/camel-filter-driver.h +++ b/camel/camel-filter-driver.h @@ -33,7 +33,6 @@ #define CAMEL_FILTER_DRIVER_CLASS(klass) CAMEL__CHECK_CLASS_CAST (klass, camel_filter_driver_get_type (), CamelFilterDriverClass) #define CAMEL_IS_FILTER_DRIVER(obj) CAMEL_CHECK_TYPE (obj, camel_filter_driver_get_type ()) -typedef struct _CamelFilterDriver CamelFilterDriver; typedef struct _CamelFilterDriverClass CamelFilterDriverClass; struct _CamelFilterDriver { @@ -61,9 +60,10 @@ typedef CamelFolder * (*CamelFilterGetFolderFunc) (CamelFilterDriver *, const ch typedef void (CamelFilterStatusFunc)(CamelFilterDriver *driver, enum camel_filter_status_t status, int pc, const char *desc, void *data); guint camel_filter_driver_get_type (void); -CamelFilterDriver *camel_filter_driver_new (CamelFilterGetFolderFunc fetcher, void *data); +CamelFilterDriver *camel_filter_driver_new (void); /* modifiers */ +void camel_filter_driver_set_folder_func (CamelFilterDriver *d, CamelFilterGetFolderFunc fetcher, void *data); void camel_filter_driver_set_logfile (CamelFilterDriver *d, FILE *logfile); void camel_filter_driver_set_status_func (CamelFilterDriver *d, CamelFilterStatusFunc *func, void *data); -- cgit v1.2.3