diff options
Diffstat (limited to 'camel/providers/imapp/camel-imapp-driver.h')
-rw-r--r-- | camel/providers/imapp/camel-imapp-driver.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/camel/providers/imapp/camel-imapp-driver.h b/camel/providers/imapp/camel-imapp-driver.h index 3124700619..c336dd3d2a 100644 --- a/camel/providers/imapp/camel-imapp-driver.h +++ b/camel/providers/imapp/camel-imapp-driver.h @@ -14,10 +14,28 @@ typedef struct _CamelIMAPPDriver CamelIMAPPDriver; typedef struct _CamelIMAPPDriverClass CamelIMAPPDriverClass; +typedef struct _CamelIMAPPFetch CamelIMAPPFetch; + typedef int (*CamelIMAPPDriverFunc)(struct _CamelIMAPPDriver *driver, void *data); typedef struct _CamelSasl * (*CamelIMAPPSASLFunc)(struct _CamelIMAPPDriver *driver, void *data); typedef void (*CamelIMAPPLoginFunc)(struct _CamelIMAPPDriver *driver, char **login, char **pass, void *data); +typedef void (*CamelIMAPPFetchFunc)(struct _CamelIMAPPDriver *driver, CamelIMAPPFetch *); + +struct _CamelIMAPPFetch { + struct _CamelIMAPPFetch *next; + struct _CamelIMAPPFetch *prev; + + CamelStream *body; /* the content fetched */ + + struct _CamelIMAPPFolder *folder; + char *uid; + char *section; + + CamelIMAPPFetchFunc done; + void *data; +}; + struct _CamelMimeMessage; struct _CamelIMAPPDriver { @@ -73,6 +91,7 @@ void camel_imapp_driver_update(CamelIMAPPDriver *id, struct _CamelIMAPPFolder void camel_imapp_driver_sync(CamelIMAPPDriver *id, gboolean expunge, struct _CamelIMAPPFolder *folder); struct _CamelStream * camel_imapp_driver_fetch(CamelIMAPPDriver *id, struct _CamelIMAPPFolder *folder, const char *uid, const char *body); + GPtrArray * camel_imapp_driver_list(CamelIMAPPDriver *id, const char *name, guint32 flags); struct _CamelStream *camel_imapp_driver_get(CamelIMAPPDriver *id, struct _CamelIMAPPFolder *folder, const char *uid); |