CamelIMAPXJob

CamelIMAPXJob

Synopsis

#define             CAMEL_IS_IMAPX_JOB                  (job)
struct              CamelIMAPXJob;
CamelIMAPXJob *     camel_imapx_job_new                 (GCancellable *cancellable);
CamelIMAPXJob *     camel_imapx_job_ref                 (CamelIMAPXJob *job);
void                camel_imapx_job_unref               (CamelIMAPXJob *job);
gboolean            camel_imapx_job_check               (CamelIMAPXJob *job);
void                camel_imapx_job_cancel              (CamelIMAPXJob *job);
gboolean            camel_imapx_job_wait                (CamelIMAPXJob *job,
                                                         GError **error);
void                camel_imapx_job_done                (CamelIMAPXJob *job);
gboolean            camel_imapx_job_run                 (CamelIMAPXJob *job,
                                                         CamelIMAPXServer *is,
                                                         GError **error);
gboolean            camel_imapx_job_matches             (CamelIMAPXJob *job,
                                                         CamelFolder *folder,
                                                         const gchar *uid);
gpointer            camel_imapx_job_get_data            (CamelIMAPXJob *job);
void                camel_imapx_job_set_data            (CamelIMAPXJob *job,
                                                         gpointer data,
                                                         GDestroyNotify destroy_data);
gboolean            camel_imapx_job_has_folder          (CamelIMAPXJob *job,
                                                         CamelFolder *folder);
CamelFolder *       camel_imapx_job_ref_folder          (CamelIMAPXJob *job);
void                camel_imapx_job_set_folder          (CamelIMAPXJob *job,
                                                         CamelFolder *folder);
GCancellable *      camel_imapx_job_get_cancellable     (CamelIMAPXJob *job);
void                camel_imapx_job_take_error          (CamelIMAPXJob *job,
                                                         GError *error);

Description

Details

CAMEL_IS_IMAPX_JOB()

#define             CAMEL_IS_IMAPX_JOB(job)

struct CamelIMAPXJob

struct CamelIMAPXJob {
	/* Whether to pop a status message off the
	 * GCancellable when the job is finalized. */
	gboolean pop_operation_msg;

	gboolean (*start)		(CamelIMAPXJob *job,
						 CamelIMAPXServer *is,
						 GCancellable *cancellable,
						 GError **error);
	gboolean (*matches)		(CamelIMAPXJob *job,
						 CamelFolder *folder,
						 const gchar *uid);

	guint noreply:1; /* dont wait for reply */
	guint32 type;		/* operation type */
	gint pri;		/* the command priority */
	gshort commands; /* counts how many commands are outstanding */
};

camel_imapx_job_new ()

CamelIMAPXJob *     camel_imapx_job_new                 (GCancellable *cancellable);

camel_imapx_job_ref ()

CamelIMAPXJob *     camel_imapx_job_ref                 (CamelIMAPXJob *job);

camel_imapx_job_unref ()

void                camel_imapx_job_unref               (CamelIMAPXJob *job);

camel_imapx_job_check ()

gboolean            camel_imapx_job_check               (CamelIMAPXJob *job);

camel_imapx_job_cancel ()

void                camel_imapx_job_cancel              (CamelIMAPXJob *job);

camel_imapx_job_wait ()

gboolean            camel_imapx_job_wait                (CamelIMAPXJob *job,
                                                         GError **error);

Blocks until job completes by way of camel_imapx_job_done(). If job completed successfully, the function returns TRUE. If job was given a GError by way of camel_imapx_job_take_error(), or its GCancellable was cancelled, the function sets error and returns FALSE.

job :

a CamelIMAPXJob

error :

return location for a GError, or NULL

Returns :

whether job completed successfully

Since 3.10


camel_imapx_job_done ()

void                camel_imapx_job_done                (CamelIMAPXJob *job);

camel_imapx_job_run ()

gboolean            camel_imapx_job_run                 (CamelIMAPXJob *job,
                                                         CamelIMAPXServer *is,
                                                         GError **error);

camel_imapx_job_matches ()

gboolean            camel_imapx_job_matches             (CamelIMAPXJob *job,
                                                         CamelFolder *folder,
                                                         const gchar *uid);

camel_imapx_job_get_data ()

gpointer            camel_imapx_job_get_data            (CamelIMAPXJob *job);

camel_imapx_job_set_data ()

void                camel_imapx_job_set_data            (CamelIMAPXJob *job,
                                                         gpointer data,
                                                         GDestroyNotify destroy_data);

camel_imapx_job_has_folder ()

gboolean            camel_imapx_job_has_folder          (CamelIMAPXJob *job,
                                                         CamelFolder *folder);

camel_imapx_job_ref_folder ()

CamelFolder *       camel_imapx_job_ref_folder          (CamelIMAPXJob *job);

camel_imapx_job_set_folder ()

void                camel_imapx_job_set_folder          (CamelIMAPXJob *job,
                                                         CamelFolder *folder);

camel_imapx_job_get_cancellable ()

GCancellable *      camel_imapx_job_get_cancellable     (CamelIMAPXJob *job);

camel_imapx_job_take_error ()

void                camel_imapx_job_take_error          (CamelIMAPXJob *job,
                                                         GError *error);

Takes over the caller's ownership of error, so the caller does not need to free it any more. Call this when a CamelIMAPXCommand fails and the job is to be aborted.

The error will be returned to callers of camel_imapx_job_wait() or camel_imapx_job_run().

job :

a CamelIMAPXJob

error :

a GError

Since 3.10