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

## Object Hierarchy

      GObject
       +----GCancellable
             +----CamelOperation

## Signals

      "status"                                         : Run Last

## Description

## Details

### struct CamelOperation

    struct CamelOperation;

### 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.

## Signal Details

### The `"status"` signal

    void                user_function                      (CamelOperation *cameloperation,
                                                            gchar          *arg1,
                                                            gint            arg2,
                                                            gpointer        user_data)           : Run Last