From e9810a7b1aae15320e58371b657a2f963562834d Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 19 Oct 2011 12:37:32 -0400 Subject: Rename progress objects to future objects. --- libdimension/dimension/future.h | 59 +++++++++++++++++++++++++++++++++++++++ libdimension/dimension/png.h | 10 +++---- libdimension/dimension/progress.h | 59 --------------------------------------- libdimension/dimension/raytrace.h | 4 +-- 4 files changed, 66 insertions(+), 66 deletions(-) create mode 100644 libdimension/dimension/future.h delete mode 100644 libdimension/dimension/progress.h (limited to 'libdimension/dimension') diff --git a/libdimension/dimension/future.h b/libdimension/dimension/future.h new file mode 100644 index 0000000..f0693b9 --- /dev/null +++ b/libdimension/dimension/future.h @@ -0,0 +1,59 @@ +/************************************************************************* + * Copyright (C) 2009-2011 Tavian Barnes * + * * + * This file is part of The Dimension Library. * + * * + * The Dimension Library is free software; you can redistribute it and/ * + * or modify it under the terms of the GNU Lesser General Public License * + * as published by the Free Software Foundation; either version 3 of the * + * License, or (at your option) any later version. * + * * + * The Dimension Library is distributed in the hope that it will be * + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this program. If not, see * + * . * + *************************************************************************/ + +/** + * @file + * An interface for asynchronous tasks. *_async() versions of functions + * return a dmnsn_future* object which can indicate the progress of the + * background task, and wait for task completion. The task's return value + * is returned as an int from dmnsn_finish_progress(). + */ + +/** A future object. */ +typedef struct dmnsn_future dmnsn_future; + +/** + * Join the worker thread and return its integer return value in addition to + * deleting \p future. + * @param[in,out] future The background task to join. + * @return The return value of the background task. + */ +int dmnsn_future_join(dmnsn_future *future); + +/** + * Interrupt the execution of a background thread. + * @param[in,out] future The background task to cancel. + */ +void dmnsn_future_cancel(dmnsn_future *future); + +/** + * Get the progress of the background task. + * @param[in] future The background task to examine. + * @return The progress of the background task, in [0.0, 1.0]. + */ +double dmnsn_future_progress(const dmnsn_future *future); + +/** + * Wait for a certain amount of progress. Always use this rather than + * spinlocking. + * @param[in] future The background task to monitor. + * @param[in] progress The progress value to wait for. + */ +void dmnsn_future_wait(const dmnsn_future *future, double progress); diff --git a/libdimension/dimension/png.h b/libdimension/dimension/png.h index e3519a0..244c481 100644 --- a/libdimension/dimension/png.h +++ b/libdimension/dimension/png.h @@ -44,10 +44,10 @@ int dmnsn_png_write_canvas(const dmnsn_canvas *canvas, FILE *file); * Write a canvas to a PNG file in the background. * @param[in] canvas The canvas to write. * @param[in,out] file The file to write to. - * @return A \ref dmnsn_progress object, or NULL on failure. + * @return A \ref dmnsn_future object, or NULL on failure. */ -dmnsn_progress *dmnsn_png_write_canvas_async(const dmnsn_canvas *canvas, - FILE *file); +dmnsn_future *dmnsn_png_write_canvas_async(const dmnsn_canvas *canvas, + FILE *file); /** * Read a canvas from a PNG file. @@ -63,6 +63,6 @@ dmnsn_canvas *dmnsn_png_read_canvas(FILE *file); * contents of \p file. Do not read from this object * until the background task has finished. * @param[in,out] file The PNG file to read. - * @return A \ref dmnsn_progress object, or NULL on failure. + * @return A \ref dmnsn_future object, or NULL on failure. */ -dmnsn_progress *dmnsn_png_read_canvas_async(dmnsn_canvas **canvas, FILE *file); +dmnsn_future *dmnsn_png_read_canvas_async(dmnsn_canvas **canvas, FILE *file); diff --git a/libdimension/dimension/progress.h b/libdimension/dimension/progress.h deleted file mode 100644 index 3464a9b..0000000 --- a/libdimension/dimension/progress.h +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************************* - * Copyright (C) 2009-2011 Tavian Barnes * - * * - * This file is part of The Dimension Library. * - * * - * The Dimension Library is free software; you can redistribute it and/ * - * or modify it under the terms of the GNU Lesser General Public License * - * as published by the Free Software Foundation; either version 3 of the * - * License, or (at your option) any later version. * - * * - * The Dimension Library is distributed in the hope that it will be * - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * - * Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this program. If not, see * - * . * - *************************************************************************/ - -/** - * @file - * An interface for asynchronous tasks. *_async() versions of functions - * return a dmnsn_progress* object which can indicate the progress of the - * background task, and wait for task completion. The task's return value - * is returned as an int from dmnsn_finish_progress(). - */ - -/** A progress object. */ -typedef struct dmnsn_progress dmnsn_progress; - -/** - * Join the worker thread and return it's integer return value in addition to - * deleting \p progress. - * @param[in,out] progress The background task to finish. - * @return The return value of the background task. - */ -int dmnsn_finish_progress(dmnsn_progress *progress); - -/** - * Interrupt the execution of a background thread. - * @param[in,out] progress The background task to cancel. - */ -void dmnsn_cancel_progress(dmnsn_progress *progress); - -/** - * Get the progress of the background task. - * @param[in] progress The background task to examine. - * @return The progress of the background task, out of 1.0. - */ -double dmnsn_get_progress(const dmnsn_progress *progress); - -/** - * Wait for a certain amount of progress. Always use this rather than - * spinlocking. - * @param[in] progress The background task to monitor. - * @param[in] prog The progress value to wait for. - */ -void dmnsn_wait_progress(const dmnsn_progress *progress, double prog); diff --git a/libdimension/dimension/raytrace.h b/libdimension/dimension/raytrace.h index eed8a75..79c148d 100644 --- a/libdimension/dimension/raytrace.h +++ b/libdimension/dimension/raytrace.h @@ -32,6 +32,6 @@ void dmnsn_raytrace_scene(dmnsn_scene *scene); /** * Render a scene in the background. * @param[in,out] scene The scene to render. - * @return A \p dmnsn_progress object. + * @return A \p dmnsn_future object. */ -dmnsn_progress *dmnsn_raytrace_scene_async(dmnsn_scene *scene); +dmnsn_future *dmnsn_raytrace_scene_async(dmnsn_scene *scene); -- cgit v1.2.3