![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
struct CamelOperation; GCancellable * camel_operation_new (void
); void camel_operation_cancel (CamelOperation *operation
); void camel_operation_uncancel (CamelOperation *operation
); gboolean camel_operation_cancel_check (CamelOperation *operation
); gint camel_operation_cancel_fd (CamelOperation *operation
); struct PRFileDesc * camel_operation_cancel_prfd (CamelOperation *operation
); 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
);
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. |
void camel_operation_cancel (CamelOperation *operation
);
Cancel a given operation. If operation
is NULL
then all outstanding
operations are cancelled.
|
a CamelOperation |
void camel_operation_uncancel (CamelOperation *operation
);
Uncancel a cancelled operation.
This is useful, if e.g. you need to do some cleaning up where a cancellation lying around in the same thread will abort any processing.
|
a CamelOperation |
gboolean camel_operation_cancel_check (CamelOperation *operation
);
Check if cancellation has been applied to operation
.
|
a CamelOperation |
Returns : |
TRUE if the operation has been cancelled |
gint camel_operation_cancel_fd (CamelOperation *operation
);
Retrieve a file descriptor that can be waited on (select, or poll) for read, to asynchronously detect cancellation.
|
a CamelOperation |
Returns : |
The fd, or -1 if cancellation has not been registered for this thread. |
struct PRFileDesc * camel_operation_cancel_prfd (CamelOperation *operation
);
Retrieve a file descriptor that can be waited on (select, or poll) for read, to asynchronously detect cancellation.
|
a CamelOperation |
Returns : |
The fd, or NULL if cancellation has not been registered
for this thread. |
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.
|
a GCancellable or NULL
|
|
a standard printf() format string |
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.
|
a GCancellable |
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.
|
a GCancellable or NULL
|
|
percent complete, 0 to 100. |