CamelIMAPXCommand

CamelIMAPXCommand

Functions

Types and Values

Description

Functions

CAMEL_IS_IMAPX_COMMAND()

#define             CAMEL_IS_IMAPX_COMMAND(command)

CamelIMAPXCommandFunc ()

void
(*CamelIMAPXCommandFunc) (struct _CamelIMAPXServer *is,
                          CamelIMAPXCommand *ic);

camel_imapx_command_new ()

CamelIMAPXCommand *
camel_imapx_command_new (struct _CamelIMAPXServer *is,
                         const gchar *name,
                         CamelIMAPXMailbox *mailbox,
                         const gchar *format,
                         ...);

camel_imapx_command_ref ()

CamelIMAPXCommand *
camel_imapx_command_ref (CamelIMAPXCommand *ic);

camel_imapx_command_unref ()

void
camel_imapx_command_unref (CamelIMAPXCommand *ic);

camel_imapx_command_check ()

gboolean
camel_imapx_command_check (CamelIMAPXCommand *ic);

camel_imapx_command_compare ()

gint
camel_imapx_command_compare (CamelIMAPXCommand *ic1,
                             CamelIMAPXCommand *ic2);

camel_imapx_command_get_job ()

struct _CamelIMAPXJob *
camel_imapx_command_get_job (CamelIMAPXCommand *ic);

camel_imapx_command_set_job ()

void
camel_imapx_command_set_job (CamelIMAPXCommand *ic,
                             struct _CamelIMAPXJob *job);

camel_imapx_command_ref_mailbox ()

CamelIMAPXMailbox *
camel_imapx_command_ref_mailbox (CamelIMAPXCommand *ic);

camel_imapx_command_add ()

void
camel_imapx_command_add (CamelIMAPXCommand *ic,
                         const gchar *format,
                         ...);

camel_imapx_command_addv ()

void
camel_imapx_command_addv (CamelIMAPXCommand *ic,
                          const gchar *format,
                          va_list ap);

camel_imapx_command_add_part ()

void
camel_imapx_command_add_part (CamelIMAPXCommand *ic,
                              CamelIMAPXCommandPartType type,
                              gpointer data);

camel_imapx_command_close ()

void
camel_imapx_command_close (CamelIMAPXCommand *ic);

camel_imapx_command_wait ()

void
camel_imapx_command_wait (CamelIMAPXCommand *ic);

camel_imapx_command_done ()

void
camel_imapx_command_done (CamelIMAPXCommand *ic);

camel_imapx_command_failed ()

void
camel_imapx_command_failed (CamelIMAPXCommand *ic,
                            const GError *error);

Copies error to be returned in camel_imapx_command_set_error_if_failed(). Call this function if a networking or parsing error occurred to force all active IMAP commands to abort processing.

Parameters

ic

a CamelIMAPXCommand

 

error

the error which caused the failure

 

Since 3.10


camel_imapx_command_set_error_if_failed ()

gboolean
camel_imapx_command_set_error_if_failed
                               (CamelIMAPXCommand *ic,
                                GError **error);

camel_imapx_command_queue_new ()

CamelIMAPXCommandQueue *
camel_imapx_command_queue_new (void);

camel_imapx_command_queue_free ()

void
camel_imapx_command_queue_free (CamelIMAPXCommandQueue *queue);

camel_imapx_command_queue_transfer ()

void
camel_imapx_command_queue_transfer (CamelIMAPXCommandQueue *from,
                                    CamelIMAPXCommandQueue *to);

camel_imapx_command_queue_push_tail ()

void
camel_imapx_command_queue_push_tail (CamelIMAPXCommandQueue *queue,
                                     CamelIMAPXCommand *ic);

camel_imapx_command_queue_insert_sorted ()

void
camel_imapx_command_queue_insert_sorted
                               (CamelIMAPXCommandQueue *queue,
                                CamelIMAPXCommand *ic);

camel_imapx_command_queue_is_empty ()

gboolean
camel_imapx_command_queue_is_empty (CamelIMAPXCommandQueue *queue);

camel_imapx_command_queue_get_length ()

guint
camel_imapx_command_queue_get_length (CamelIMAPXCommandQueue *queue);

camel_imapx_command_queue_peek_head ()

CamelIMAPXCommand *
camel_imapx_command_queue_peek_head (CamelIMAPXCommandQueue *queue);

camel_imapx_command_queue_peek_head_link ()

GList *
camel_imapx_command_queue_peek_head_link
                               (CamelIMAPXCommandQueue *queue);

camel_imapx_command_queue_remove ()

gboolean
camel_imapx_command_queue_remove (CamelIMAPXCommandQueue *queue,
                                  CamelIMAPXCommand *ic);

camel_imapx_command_queue_delete_link ()

void
camel_imapx_command_queue_delete_link (CamelIMAPXCommandQueue *queue,
                                       GList *link);

camel_imapx_command_queue_ref_by_tag ()

CamelIMAPXCommand *
camel_imapx_command_queue_ref_by_tag (CamelIMAPXCommandQueue *queue,
                                      guint32 tag);

Returns the CamelIMAPXCommand in queue with a matching tag , or NULL if no match is found.

The returned CamelIMAPXCommand is referenced for thread-safety and should be unreferenced with camel_imapx_command_unref() when finished with it.

Parameters

queue

a CamelIMAPXCommandQueue

 

tag

a CamelIMAPXCommand tag

 

Since 3.10

Types and Values

enum CamelIMAPXCommandPartType

Members

CAMEL_IMAPX_COMMAND_SIMPLE

   

CAMEL_IMAPX_COMMAND_DATAWRAPPER

   

CAMEL_IMAPX_COMMAND_AUTH

   

CAMEL_IMAPX_COMMAND_FILE

   

CAMEL_IMAPX_COMMAND_STRING

   

CAMEL_IMAPX_COMMAND_MASK

   

CAMEL_IMAPX_COMMAND_LITERAL_PLUS

   

CAMEL_IMAPX_COMMAND_CONTINUATION

   

struct CamelIMAPXCommand

struct CamelIMAPXCommand {
	struct _CamelIMAPXServer *is;
	gint pri;

	/* Command name/type (e.g. FETCH) */
	const gchar *name;

	/* Status for command, indicates it is complete if != NULL. */
	struct _status_info *status;

	guint32 tag;

	GQueue parts;
	GList *current_part;

	/* Responsible for free'ing the command. */
	CamelIMAPXCommandFunc complete;
};

struct CamelIMAPXCommandPart

struct CamelIMAPXCommandPart {
	gint data_size;
	gchar *data;

	CamelIMAPXCommandPartType type;

	gint ob_size;
	gpointer ob;
};

CamelIMAPXCommandQueue

typedef struct _CamelIMAPXCommandQueue CamelIMAPXCommandQueue;