diff options
author | Dan Winship <danw@src.gnome.org> | 2001-07-02 23:03:49 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2001-07-02 23:03:49 +0800 |
commit | faac871501ee1935cdbaf044e2f8ac4dc00eadc2 (patch) | |
tree | 14ae39437ee4f3ffc127ac83676c26c506f7c742 /camel/camel-session.h | |
parent | 55938df2d4948d9581adf7ef660b01fbc6482f4e (diff) | |
download | gsoc2013-evolution-faac871501ee1935cdbaf044e2f8ac4dc00eadc2.tar.gz gsoc2013-evolution-faac871501ee1935cdbaf044e2f8ac4dc00eadc2.tar.zst gsoc2013-evolution-faac871501ee1935cdbaf044e2f8ac4dc00eadc2.zip |
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
Diffstat (limited to 'camel/camel-session.h')
-rw-r--r-- | camel/camel-session.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/camel/camel-session.h b/camel/camel-session.h index fa0705c693..54eea0b1e6 100644 --- a/camel/camel-session.h +++ b/camel/camel-session.h @@ -101,6 +101,9 @@ typedef struct { gboolean (*remove_timeout) (CamelSession *session, guint handle); + CamelFilterDriver * (*get_filter_driver) (CamelSession *session, + const char *type, + CamelException *ex); } CamelSessionClass; @@ -136,38 +139,42 @@ CamelService * camel_session_get_service_connected (CamelSession *session, #define camel_session_get_transport(session, url_string, ex) \ ((CamelTransport *) camel_session_get_service_connected (session, url_string, CAMEL_PROVIDER_TRANSPORT, ex)) -char * camel_session_get_storage_path (CamelSession *session, +char * camel_session_get_storage_path (CamelSession *session, CamelService *service, CamelException *ex); -char * camel_session_get_password (CamelSession *session, +char * camel_session_get_password (CamelSession *session, const char *prompt, gboolean secret, CamelService *service, const char *item, CamelException *ex); -void camel_session_forget_password (CamelSession *session, +void camel_session_forget_password (CamelSession *session, CamelService *service, const char *item, CamelException *ex); -gboolean camel_session_alert_user (CamelSession *session, +gboolean camel_session_alert_user (CamelSession *session, CamelSessionAlertType type, const char *prompt, gboolean cancel); -guint camel_session_register_timeout (CamelSession *session, +guint camel_session_register_timeout (CamelSession *session, guint32 interval, CamelTimeoutCallback callback, gpointer user_data); -gboolean camel_session_remove_timeout (CamelSession *session, +gboolean camel_session_remove_timeout (CamelSession *session, guint handle); -gboolean camel_session_is_online (CamelSession *session); -void camel_session_set_online (CamelSession *session, +gboolean camel_session_is_online (CamelSession *session); +void camel_session_set_online (CamelSession *session, gboolean online); +CamelFilterDriver *camel_session_get_filter_driver (CamelSession *session, + const char *type, + CamelException *ex); + #ifdef __cplusplus } #endif /* __cplusplus */ |