## E2kOperation (private) E2kOperation (private) — private E2kOperation methods |

## Synopsis

    void                (*E2kOperationCancelFunc)           (E2kOperation *op,
                                                             gpointer owner,
                                                             gpointer data);
    void                e2k_operation_start                 (E2kOperation *op,
                                                             E2kOperationCancelFunc canceller,
                                                             gpointer owner,
                                                             gpointer data);
    void                e2k_operation_finish                (E2kOperation *op);

## Description

These are the E2kOperation methods used internally by E2kContext and E2kGlobalCatalog.

## Details

### E2kOperationCancelFunc ()

    void                (*E2kOperationCancelFunc)           (E2kOperation *op,
                                                             gpointer owner,
                                                             gpointer data);

### e2k_operation_start ()

    void                e2k_operation_start                 (E2kOperation *op,
                                                             E2kOperationCancelFunc canceller,
                                                             gpointer owner,
                                                             gpointer data);

This starts a single cancellable operation using `op`. If `op` has already been cancelled, this will invoke `canceller` immediately.

(If `op` is `NULL`, `e2k_operation_start()` is a no-op.)

`op` : | an E2kOperation, or `NULL`
`canceller` : | the callback to invoke if `op` is cancelled
`owner` : | object that owns the operation
`data` : | data to pass to `canceller`

### e2k_operation_finish ()

    void                e2k_operation_finish                (E2kOperation *op);

This finishes the current cancellable operation on `op`. Attempting to cancel `op` after this point will have no effect until another operation is started on it.

(If `op` is `NULL`, `e2k_operation_finish()` is a no-op.)

`op` : | an E2kOperation, or `NULL`

## See Also

E2kOperation, E2kContext, E2kGlobalCatalog