CamelOperation

CamelOperation

Functions

Signals

void pop-message Run Last
void progress Run Last
void push-message Run Last
void status Run Last

Object Hierarchy

    GObject
    ╰── GCancellable
        ╰── CamelOperation

Description

Functions

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.

[transfer full]


camel_operation_new_proxy ()

GCancellable *
camel_operation_new_proxy (GCancellable *cancellable);

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.

Parameters

cancellable

a GCancellable to proxy.

[nullable]

Returns

A new operation handle, proxying cancellable .

[transfer full]

Since: 3.24


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.

Parameters

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.

Parameters

cancellable

a GCancellable

 

camel_operation_dup_message ()

gchar *
camel_operation_dup_message (GCancellable *cancellable);

Duplicates current operation message, or returns NULL, if no such is available. The message as the last text set by camel_operation_push_message().

Free the returned text with g_free(), when no longer needed.

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.

Parameters

cancellable

a GCancellable or NULL

 

Returns

a copy of the last text set by camel_operation_push_message(), or NULL, when none is set.

[transfer full][nullable]

Since: 3.52


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.

Parameters

cancellable

a GCancellable or NULL

 

percent

percent complete, 0 to 100.

 

Signal Details

The “pop-message” signal

void
user_function (CamelOperation *cameloperation,
               gpointer        user_data)

Flags: Run Last


The “progress” signal

void
user_function (CamelOperation *cameloperation,
               int             arg1,
               gpointer        user_data)

Flags: Run Last


The “push-message” signal

void
user_function (CamelOperation *cameloperation,
               char           *arg1,
               gpointer        user_data)

Flags: Run Last


The “status” signal

void
user_function (CamelOperation *cameloperation,
               char           *arg1,
               int             arg2,
               gpointer        user_data)

Flags: Run Last