From 5c4fe6339bcb4d5539e39cc84f075461b9156ddc Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Thu, 12 Jan 2023 10:49:20 +0200 Subject: [Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies. --- thirdparty/linuxbsd_headers/pulse/operation.h | 64 +++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 thirdparty/linuxbsd_headers/pulse/operation.h (limited to 'thirdparty/linuxbsd_headers/pulse/operation.h') diff --git a/thirdparty/linuxbsd_headers/pulse/operation.h b/thirdparty/linuxbsd_headers/pulse/operation.h new file mode 100644 index 0000000000..edd7d76e54 --- /dev/null +++ b/thirdparty/linuxbsd_headers/pulse/operation.h @@ -0,0 +1,64 @@ +#ifndef foooperationhfoo +#define foooperationhfoo + +/*** + This file is part of PulseAudio. + + Copyright 2004-2006 Lennart Poettering + + PulseAudio 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 2.1 of the License, + or (at your option) any later version. + + PulseAudio 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 + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with PulseAudio; if not, see . +***/ + +#include +#include +#include + +/** \file + * Asynchronous operations */ + +PA_C_DECL_BEGIN + +/** An asynchronous operation object */ +typedef struct pa_operation pa_operation; + +/** A callback for operation state changes */ +typedef void (*pa_operation_notify_cb_t) (pa_operation *o, void *userdata); + +/** Increase the reference count by one */ +pa_operation *pa_operation_ref(pa_operation *o); + +/** Decrease the reference count by one */ +void pa_operation_unref(pa_operation *o); + +/** Cancel the operation. Beware! This will not necessarily cancel the + * execution of the operation on the server side. However it will make + * sure that the callback associated with this operation will not be + * called anymore, effectively disabling the operation from the client + * side's view. */ +void pa_operation_cancel(pa_operation *o); + +/** Return the current status of the operation */ +pa_operation_state_t pa_operation_get_state(pa_operation *o); + +/** Set the callback function that is called when the operation state + * changes. Usually this is not necessary, since the functions that + * create pa_operation objects already take a callback that is called + * when the operation finishes. Registering a state change callback is + * mainly useful, if you want to get called back also if the operation + * gets cancelled. \since 4.0 */ +void pa_operation_set_state_callback(pa_operation *o, pa_operation_notify_cb_t cb, void *userdata); + +PA_C_DECL_END + +#endif -- cgit v1.2.3