CamelIMAPXJob

## 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_wait                (CamelIMAPXJob *job);
    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);

## Description

## Details

### CAMEL_IS_IMAPX_JOB()

    #define             CAMEL_IS_IMAPX_JOB(job)

### struct CamelIMAPXJob

    struct CamelIMAPXJob {
    	GCancellable *cancellable;
    	GError *error;

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

    	void		(*start)		(CamelIMAPXJob *job,
    						 CamelIMAPXServer *is);
    	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 */

    	CamelFolder *folder;
    };

### 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_wait ()

    void                camel_imapx_job_wait                (CamelIMAPXJob *job);

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