| Top |
| enum | CamelIMAPXCommandPartType |
| struct | CamelIMAPXCommand |
| struct | CamelIMAPXCommandPart |
| CamelIMAPXCommandQueue |
void (*CamelIMAPXCommandFunc) (struct _CamelIMAPXServer *is,CamelIMAPXCommand *ic);
CamelIMAPXCommand * camel_imapx_command_new (struct _CamelIMAPXServer *is,const gchar *name,CamelIMAPXMailbox *mailbox,const gchar *format,...);
gint camel_imapx_command_compare (CamelIMAPXCommand *ic1,CamelIMAPXCommand *ic2);
struct _CamelIMAPXJob *
camel_imapx_command_get_job (CamelIMAPXCommand *ic);
void camel_imapx_command_set_job (CamelIMAPXCommand *ic,struct _CamelIMAPXJob *job);
CamelIMAPXMailbox *
camel_imapx_command_ref_mailbox (CamelIMAPXCommand *ic);
void camel_imapx_command_add (CamelIMAPXCommand *ic,const gchar *format,...);
void camel_imapx_command_addv (CamelIMAPXCommand *ic,const gchar *format,va_list ap);
void camel_imapx_command_add_part (CamelIMAPXCommand *ic,CamelIMAPXCommandPartType type,gpointer data);
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.
Since: 3.10
gboolean camel_imapx_command_set_error_if_failed (CamelIMAPXCommand *ic,GError **error);
void
camel_imapx_command_queue_free (CamelIMAPXCommandQueue *queue);
void camel_imapx_command_queue_transfer (CamelIMAPXCommandQueue *from,CamelIMAPXCommandQueue *to);
void camel_imapx_command_queue_push_tail (CamelIMAPXCommandQueue *queue,CamelIMAPXCommand *ic);
void camel_imapx_command_queue_insert_sorted (CamelIMAPXCommandQueue *queue,CamelIMAPXCommand *ic);
gboolean
camel_imapx_command_queue_is_empty (CamelIMAPXCommandQueue *queue);
guint
camel_imapx_command_queue_get_length (CamelIMAPXCommandQueue *queue);
CamelIMAPXCommand *
camel_imapx_command_queue_peek_head (CamelIMAPXCommandQueue *queue);
GList *
camel_imapx_command_queue_peek_head_link
(CamelIMAPXCommandQueue *queue);
gboolean camel_imapx_command_queue_remove (CamelIMAPXCommandQueue *queue,CamelIMAPXCommand *ic);
void camel_imapx_command_queue_delete_link (CamelIMAPXCommandQueue *queue,GList *link);
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.
Since: 3.10
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 {
gint data_size;
gchar *data;
CamelIMAPXCommandPartType type;
gint ob_size;
gpointer ob;
};