## camel-operation

camel-operation

## Synopsis

    struct              CamelOperation;
    GCancellable *      camel_operation_new                 (void);
    void                camel_operation_cancel_all          (void);
    void                camel_operation_push_message        (GCancellable *cancellable,
                                                             const gchar *format,
                                                             ...);
    void                camel_operation_pop_message         (GCancellable *cancellable);
    void                camel_operation_progress            (GCancellable *cancellable,
                                                             gint percent);

## Description

## Details

### struct CamelOperation

    struct CamelOperation {
    	GCancellable parent;
    	CamelOperationPrivate *priv;
    };

### camel_operation_new ()

    GCancellable *      camel_operation_new                 (void);

Create a new camel operation handle. Camel operation handles can be used in a multithreaded application (or a single operation handle can be used in a non threaded appliation) to cancel running operations and to obtain notification messages of the internal status of messages.

Returns : | A new operation handle.

### camel_operation_cancel_all ()

    void                camel_operation_cancel_all          (void);

Cancel all outstanding operations.

### camel_operation_push_message ()

    void                camel_operation_push_message        (GCancellable *cancellable,
                                                             const gchar *format,
                                                             ...);

Call this function to describe an operation being performed. Call `camel_operation_progress()` to report progress on the operation. Call `camel_operation_pop_message()` when the operation is complete.

This function only works if `cancellable` is a CamelOperation cast as a GCancellable. If `cancellable` is a plain GCancellable or `NULL`, the function does nothing and returns silently.

`cancellable` : | a GCancellable or `NULL`
`format` : | a standard `printf()` format string
`...` : | the parameters to insert into the format string

### camel_operation_pop_message ()

    void                camel_operation_pop_message         (GCancellable *cancellable);

Pops the most recently pushed message.

This function only works if `cancellable` is a CamelOperation cast as a GCancellable. If `cancellable` is a plain GCancellable or `NULL`, the function does nothing and returns silently.

`cancellable` : | a GCancellable

### camel_operation_progress ()

    void                camel_operation_progress            (GCancellable *cancellable,
                                                             gint percent);

Report progress on the current operation. `percent` reports the current percentage of completion, which should be in the range of 0 to 100.

This function only works if `cancellable` is a CamelOperation cast as a GCancellable. If `cancellable` is a plain GCancellable or `NULL`, the function does nothing and returns silently.

`cancellable` : | a GCancellable or `NULL`
`percent` : | percent complete, 0 to 100.