## CamelPOP3Engine

CamelPOP3Engine

## Functions

void | (*CamelPOP3CommandFunc) ()
CamelPOP3Engine * | camel_pop3_engine_new ()
gboolean | camel_pop3_engine_reget_capabilities ()
gint | camel_pop3_engine_iterate ()
gboolean | camel_pop3_engine_busy_lock ()
void | camel_pop3_engine_busy_unlock ()
CamelPOP3Command * | camel_pop3_engine_command_new ()
void | camel_pop3_engine_command_free ()

## Types and Values

enum | camel_pop3_engine_t
enum | camel_pop3_command_t
struct | CamelPOP3Command

## Object Hierarchy

        GObject
        ╰── CamelPOP3Engine

## Description

## Functions

### CamelPOP3CommandFunc ()

    void
    (*CamelPOP3CommandFunc) (CamelPOP3Engine *pe,
                             CamelPOP3Stream *stream,
                             GCancellable *cancellable,
                             GError **error,
                             gpointer data);

### camel_pop3_engine_new ()

    CamelPOP3Engine *
    camel_pop3_engine_new (CamelStream *source,
                           guint32 flags,
                           GCancellable *cancellable,
                           GError **error);

#### Parameters

source | source stream |
flags | engine flags |
cancellable | optional GCancellable object, or `NULL` |
error | optional GError, or `NULL` |

#### Returns

a new CamelPOP3Engine, or `NULL` on error.

[transfer full]

### camel_pop3_engine_reget_capabilities ()

    gboolean
    camel_pop3_engine_reget_capabilities (CamelPOP3Engine *engine,
                                          GCancellable *cancellable,
                                          GError **error);

Regets server capabilities (needed after a STLS command is issued for example).

#### Parameters

engine | pop3 engine |
cancellable | optional GCancellable object, or `NULL` |
error | optional GError, or `NULL` |

### camel_pop3_engine_iterate ()

    gint
    camel_pop3_engine_iterate (CamelPOP3Engine *pe,
                               CamelPOP3Command *pc,
                               GCancellable *cancellable,
                               GError **error);

### camel_pop3_engine_busy_lock ()

    gboolean
    camel_pop3_engine_busy_lock (CamelPOP3Engine *pe,
                                 GCancellable *cancellable,
                                 GError **error);

### camel_pop3_engine_busy_unlock ()

    void
    camel_pop3_engine_busy_unlock (CamelPOP3Engine *pe);

### camel_pop3_engine_command_new ()

    CamelPOP3Command *
    camel_pop3_engine_command_new (CamelPOP3Engine *pe,
                                   guint32 flags,
                                   CamelPOP3CommandFunc func,
                                   gpointer data,
                                   GCancellable *cancellable,
                                   GError **error,
                                   const gchar *fmt,
                                   ...);

### camel_pop3_engine_command_free ()

    void
    camel_pop3_engine_command_free (CamelPOP3Engine *pe,
                                    CamelPOP3Command *pc);

## Types and Values

### enum camel_pop3_engine_t

#### Members

CAMEL_POP3_ENGINE_DISCONNECT |  |
CAMEL_POP3_ENGINE_AUTH |  |
CAMEL_POP3_ENGINE_TRANSACTION |  |
CAMEL_POP3_ENGINE_UPDATE |  |

### enum camel_pop3_command_t

#### Members

CAMEL_POP3_COMMAND_IDLE |  |
CAMEL_POP3_COMMAND_DISPATCHED |  |
CAMEL_POP3_COMMAND_OK |  |
CAMEL_POP3_COMMAND_DATA |  |
CAMEL_POP3_COMMAND_ERR |  |

### struct CamelPOP3Command

    struct CamelPOP3Command {
    	guint32 flags;
    	camel_pop3_command_t state;
    	gchar *error_str;

    	CamelPOP3CommandFunc func;
    	gpointer func_data;

    	gint data_size;
    	gchar *data;
    };