diff options
Diffstat (limited to 'mail/mail-mt.h')
-rw-r--r-- | mail/mail-mt.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mail/mail-mt.h b/mail/mail-mt.h index 96561d70ee..363b0f9f61 100644 --- a/mail/mail-mt.h +++ b/mail/mail-mt.h @@ -75,12 +75,19 @@ typedef struct _MailAsyncEvent { GSList *tasks; } MailAsyncEvent; +typedef enum _mail_async_event_t { + MAIL_ASYNC_GUI, + MAIL_ASYNC_THREAD, +} mail_async_event_t; + +typedef void (*MailAsyncFunc)(void *, void *, void *); + /* create a new async event handler */ MailAsyncEvent *mail_async_event_new(void); /* forward a camel event (or other call) to the gui thread */ -int mail_async_event_emit(MailAsyncEvent *ea, CamelObjectEventHookFunc func, CamelObject *o, void *event_data, void *data); +int mail_async_event_emit(MailAsyncEvent *ea, mail_async_event_t type, MailAsyncFunc func, void *, void *, void *); /* wait for all outstanding async events to complete */ -void mail_async_event_destroy(MailAsyncEvent *ea); +int mail_async_event_destroy(MailAsyncEvent *ea); /* Call a function in the gui thread, wait for it to return, type is the marshaller to use */ typedef enum { |