|  |  |  | 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);