| Camel Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct CamelPOP3Engine; CamelPOP3Engine * camel_pop3_engine_new (CamelStream *source,guint32 flags,GCancellable *cancellable,GError **error); gboolean camel_pop3_engine_reget_capabilities (CamelPOP3Engine *engine,GCancellable *cancellable,GError **error); gint camel_pop3_engine_iterate (CamelPOP3Engine *pe,CamelPOP3Command *pc,GCancellable *cancellable,GError **error); enum camel_pop3_command_t; struct CamelPOP3Command; void (*CamelPOP3CommandFunc) (CamelPOP3Engine *pe,CamelPOP3Stream *stream,GCancellable *cancellable,GError **error,gpointer data); CamelPOP3Command * camel_pop3_engine_command_new (CamelPOP3Engine *pe,guint32 flags,CamelPOP3CommandFunc func,gpointer data,GCancellable *cancellable,GError **error,const gchar *fmt,...); void camel_pop3_engine_command_free (CamelPOP3Engine *pe,CamelPOP3Command *pc);
CamelPOP3Engine * camel_pop3_engine_new (CamelStream *source,guint32 flags,GCancellable *cancellable,GError **error);
Returns a NULL stream. A null stream is always at eof, and always returns success for all reads and writes.
|
source stream |
|
engine flags |
|
optional GCancellable object, or NULL
|
|
optional GError, or NULL
|
Returns : |
the stream |
gboolean camel_pop3_engine_reget_capabilities (CamelPOP3Engine *engine,GCancellable *cancellable,GError **error);
Regets server capabilities (needed after a STLS command is issued for example).
|
pop3 engine |
|
optional GCancellable object, or NULL
|
|
optional GError, or NULL
|
gint camel_pop3_engine_iterate (CamelPOP3Engine *pe,CamelPOP3Command *pc,GCancellable *cancellable,GError **error);
typedef enum {
CAMEL_POP3_COMMAND_IDLE = 0, /* command created or queued, not yet sent (e.g. non pipelined server) */
CAMEL_POP3_COMMAND_DISPATCHED, /* command sent to server */
/* completion codes */
CAMEL_POP3_COMMAND_OK, /* plain ok response */
CAMEL_POP3_COMMAND_DATA, /* processing command response */
CAMEL_POP3_COMMAND_ERR /* error response */
} camel_pop3_command_t;
struct CamelPOP3Command {
guint32 flags;
camel_pop3_command_t state;
gchar *error_str;
CamelPOP3CommandFunc func;
gpointer func_data;
gint data_size;
gchar *data;
};
void (*CamelPOP3CommandFunc) (CamelPOP3Engine *pe,CamelPOP3Stream *stream,GCancellable *cancellable,GError **error,gpointer data);
CamelPOP3Command * camel_pop3_engine_command_new (CamelPOP3Engine *pe,guint32 flags,CamelPOP3CommandFunc func,gpointer data,GCancellable *cancellable,GError **error,const gchar *fmt,...);
void camel_pop3_engine_command_free (CamelPOP3Engine *pe,CamelPOP3Command *pc);