aboutsummaryrefslogtreecommitdiff
path: root/include/io/task.h
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2016-08-11 14:36:21 +0100
committerDaniel P. Berrange <berrange@redhat.com>2017-01-23 15:32:18 +0000
commit52dd99e8a4df8ace2fdf8cd173a3338357776bff (patch)
treea1369d3a1df1b5d757089e77ed992fa5e2b5c32e /include/io/task.h
parente8c8adecada7a3e59bffcc0207327aae472ffcda (diff)
downloadqemu-52dd99e8a4df8ace2fdf8cd173a3338357776bff.zip
qemu-52dd99e8a4df8ace2fdf8cd173a3338357776bff.tar.gz
qemu-52dd99e8a4df8ace2fdf8cd173a3338357776bff.tar.bz2
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>
Diffstat (limited to 'include/io/task.h')
-rw-r--r--include/io/task.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/io/task.h b/include/io/task.h
index 1407747..ece1372 100644
--- a/include/io/task.h
+++ b/include/io/task.h
@@ -240,6 +240,33 @@ void qio_task_abort(QIOTask *task,
/**
+ * 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
*