io: add ability to associate an opaque "result" with with a task

Currently there is no data associated with a successful
task completion. This adds an opaque pointer to the task
to store an arbitrary result.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2016-08-11 14:36:21 +01:00
parent e8c8adecad
commit 52dd99e8a4
2 changed files with 47 additions and 0 deletions

View file

@ -239,6 +239,33 @@ void qio_task_abort(QIOTask *task,
Error *err);
/**
* qio_task_set_result_pointer:
* @task: the task struct
* @result: pointer to the result data
*
* Associate an opaque result with the task,
* which can later be retrieved with the
* qio_task_get_result_pointer() method
*
*/
void qio_task_set_result_pointer(QIOTask *task,
gpointer result,
GDestroyNotify notify);
/**
* qio_task_get_result_pointer:
* @task: the task struct
*
* Retrieve the opaque result data associated
* with the task, if any.
*
* Returns: the task result, or NULL
*/
gpointer qio_task_get_result_pointer(QIOTask *task);
/**
* qio_task_get_source:
* @task: the task struct