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