| .\" zip_register_progress_callback_with_state.mdoc -- provide updates during zip_close | |
| .\" Copyright (C) 2017-2021 Dieter Baron and Thomas Klausner | |
| .\" | |
| .\" This file is part of libzip, a library to manipulate ZIP archives. | |
| .\" The authors can be contacted at <libzip@nih.at> | |
| .\" | |
| .\" Redistribution and use in source and binary forms, with or without | |
| .\" modification, are permitted provided that the following conditions | |
| .\" are met: | |
| .\" 1. Redistributions of source code must retain the above copyright | |
| .\" notice, this list of conditions and the following disclaimer. | |
| .\" 2. Redistributions in binary form must reproduce the above copyright | |
| .\" notice, this list of conditions and the following disclaimer in | |
| .\" the documentation and/or other materials provided with the | |
| .\" distribution. | |
| .\" 3. The names of the authors may not be used to endorse or promote | |
| .\" products derived from this software without specific prior | |
| .\" written permission. | |
| .\" | |
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS | |
| .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY | |
| .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | |
| .\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
| .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | |
| .\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN | |
| .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| .\" | |
| .Dd December 18, 2017 | |
| .Dt ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE 3 | |
| .Os | |
| .Sh NAME | |
| .Nm zip_register_progress_callback_with_state | |
| .Nd provide updates during zip_close | |
| .Sh LIBRARY | |
| libzip (-lzip) | |
| .Sh SYNOPSIS | |
| .In zip.h | |
| .Vt typedef void (*zip_progress_callback)(zip_t *, double, void *); | |
| .Ft void | |
| .Fn zip_register_progress_callback_with_state "zip_t *archive" "double precision" "zip_progress_callback callback" "void (*ud_free)(void *)" "void *ud" | |
| .Sh DESCRIPTION | |
| The | |
| .Fn zip_register_progress_callback_with_state | |
| function registers a callback function | |
| .Ar callback | |
| for the zip archive | |
| .Ar archive . | |
| The | |
| .Ar precision | |
| argument is a double in the range from 0.00 to 1.0 that defines the | |
| smallest change for which the callback should be called (to avoid too | |
| frequent calls). | |
| The | |
| .Ar ud_free | |
| function is called during cleanup for deleting the userdata supplied in | |
| .Ar ud . | |
| .Pp | |
| The callback function is called during | |
| .Xr zip_close 3 | |
| in regular intervals (after every zip archive entry that's completely | |
| written to disk, and while writing data for entries) with zip archive | |
| .Ar archive , | |
| the current progression state as a | |
| .Vt double , | |
| and the user-provided user-data | |
| .Ar ud | |
| as arguments. | |
| The progression state is a | |
| .Vt double | |
| in the range from 0.0 to 1.0. | |
| This can be used to provide progress indicators for user interfaces. | |
| .Sh SEE ALSO | |
| .Xr libzip 3 , | |
| .Xr zip_close 3 , | |
| .Xr zip_register_cancel_callback_with_state 3 | |
| .Sh HISTORY | |
| .Fn zip_register_progress_callback_with_state | |
| was added in libzip 1.3.0. | |
| .Sh AUTHORS | |
| .An -nosplit | |
| .An Dieter Baron Aq Mt dillo@nih.at | |
| and | |
| .An Thomas Klausner Aq Mt tk@giga.or.at |