diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-08-14 20:25:32 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-08-14 20:25:32 +0000 |
commit | 22cb23eedb2eae7c79dc8fcf395be08bfc666256 (patch) | |
tree | f0993d4a26cb6e311d052b40ac5b8efc1239c145 /polyp/polyplib-operation.h | |
parent | 1c2ec47cf1506ad1c75c088d476ae382170df62c (diff) |
implement proper refcounting in polyplib
split polyplib to multiple modules
add some prelimenary documentation
add doxygen support
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@123 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/polyplib-operation.h')
-rw-r--r-- | polyp/polyplib-operation.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/polyp/polyplib-operation.h b/polyp/polyplib-operation.h new file mode 100644 index 00000000..7d0adc26 --- /dev/null +++ b/polyp/polyplib-operation.h @@ -0,0 +1,56 @@ +#ifndef foopolypliboperationhfoo +#define foopolypliboperationhfoo + +/* $Id$ */ + +/*** + This file is part of polypaudio. + + polypaudio is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 2 of the License, + or (at your option) any later version. + + polypaudio 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 General Public License + along with polypaudio; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +#include "cdecl.h" + +/** \file + * Asynchronous operations */ + +PA_C_DECL_BEGIN + +enum pa_operation_state { + PA_OPERATION_RUNNING, /**< The operation is still running */ + PA_OPERATION_DONE, /**< The operation has been completed */ + PA_OPERATION_CANCELED, /**< The operation has been canceled */ +}; + +/** \struct pa_operation + * An asynchronous operation object */ +struct pa_operation; + +/** Increase the reference count by one */ +struct pa_operation *pa_operation_ref(struct pa_operation *o); + +/** Decrease the reference count by one */ +void pa_operation_unref(struct pa_operation *o); + +/** Cancel the operation. Beware! This will not necessarily cancel the execution of the operation on the server side. */ +void pa_operation_cancel(struct pa_operation *o); + +/** Return the current status of the operation */ +enum pa_operation_state pa_operation_get_state(struct pa_operation *o); + +PA_C_DECL_END + +#endif |