### Constructor

# Camel Operation new_proxy

since: 3.24

#### Declaration [src]

    GCancellable*
    camel_operation_new_proxy (
      GCancellable* cancellable
    )

#### Description [src]

Proxies the `cancellable` in a way that if it is cancelled, then the returned cancellable is also cancelled, but when the returned cancellable is cancelled, then it doesn’t influence the original cancellable. Other CamelOperation actions being done on the returned cancellable are also propagated to the `cancellable`.

The passed-in `cancellable` can be `NULL`, in which case a plain CamelOperation is returned.

This is useful when some operation can be cancelled from elsewhere (like by a user), but also by the code on its own, when it doesn’t make sense to cancel also any larger operation to which the passed-in cancellable belongs.

Available since: 3.24

#### Parameters

`cancellable`

  Type: `GCancellable`

  A `GCancellable` to proxy.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `GCancellable`

A new operation handle, proxying `cancellable`.

The caller of the function takes ownership of the data, and is responsible for freeing it.