![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#define CAMEL_IS_IMAPX_COMMAND (command) enum CamelIMAPXCommandPartType; void (*CamelIMAPXCommandFunc) (struct _CamelIMAPXServer *is
,CamelIMAPXCommand *ic
); struct CamelIMAPXCommand; struct CamelIMAPXCommandPart; CamelIMAPXCommand * camel_imapx_command_new (struct _CamelIMAPXServer *is
,const gchar *name
,CamelFolder *select
,const gchar *format
,...
); CamelIMAPXCommand * camel_imapx_command_ref (CamelIMAPXCommand *ic
); void camel_imapx_command_unref (CamelIMAPXCommand *ic
); gboolean camel_imapx_command_check (CamelIMAPXCommand *ic
); 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
); 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_close (CamelIMAPXCommand *ic
); void camel_imapx_command_wait (CamelIMAPXCommand *ic
); void camel_imapx_command_done (CamelIMAPXCommand *ic
); void camel_imapx_command_failed (CamelIMAPXCommand *ic
,const GError *error
); gboolean camel_imapx_command_set_error_if_failed (CamelIMAPXCommand *ic
,GError **error
); CamelIMAPXCommandQueue; CamelIMAPXCommandQueue * camel_imapx_command_queue_new (void
); 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
);
typedef enum { CAMEL_IMAPX_COMMAND_SIMPLE = 0, CAMEL_IMAPX_COMMAND_DATAWRAPPER, CAMEL_IMAPX_COMMAND_STREAM, CAMEL_IMAPX_COMMAND_AUTH, CAMEL_IMAPX_COMMAND_FILE, CAMEL_IMAPX_COMMAND_STRING, CAMEL_IMAPX_COMMAND_MASK = 0xff, /* Continuation with LITERAL+ */ CAMEL_IMAPX_COMMAND_LITERAL_PLUS = 1 << 14, /* Does this command expect continuation? */ CAMEL_IMAPX_COMMAND_CONTINUATION = 1 << 15 } CamelIMAPXCommandPartType;
void (*CamelIMAPXCommandFunc) (struct _CamelIMAPXServer *is
,CamelIMAPXCommand *ic
);
struct CamelIMAPXCommand { struct _CamelIMAPXServer *is; gint pri; /* Command name/type (e.g. FETCH) */ const gchar *name; /* Folder to select */ CamelFolder *select; /* 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; };
CamelIMAPXCommand * camel_imapx_command_new (struct _CamelIMAPXServer *is
,const gchar *name
,CamelFolder *select
,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
);
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.
|
a CamelIMAPXCommand |
|
the error which caused the failure |
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
);
|
a CamelIMAPXCommandQueue |
|
a CamelIMAPXCommand 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