1#ifndef foooperationhfoo
2#define foooperationhfoo
3
4/* $Id: operation.h 1426 2007-02-13 15:35:19Z ossman $ */
5
6/***
7  This file is part of PulseAudio.
8
9  Copyright 2004-2006 Lennart Poettering
10
11  PulseAudio is free software; you can redistribute it and/or modify
12  it under the terms of the GNU Lesser General Public License as published
13  by the Free Software Foundation; either version 2 of the License,
14  or (at your option) any later version.
15
16  PulseAudio is distributed in the hope that it will be useful, but
17  WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  General Public License for more details.
20
21  You should have received a copy of the GNU Lesser General Public License
22  along with PulseAudio; if not, write to the Free Software
23  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
24  USA.
25***/
26
27#include <pulse/cdecl.h>
28#include <pulse/def.h>
29
30/** \file
31 * Asynchronous operations */
32
33PA_C_DECL_BEGIN
34
35/** An asynchronous operation object */
36typedef struct pa_operation pa_operation;
37
38/** Increase the reference count by one */
39pa_operation *pa_operation_ref(pa_operation *o);
40
41/** Decrease the reference count by one */
42void pa_operation_unref(pa_operation *o);
43
44/** Cancel the operation. Beware! This will not necessarily cancel the execution of the operation on the server side. */
45void pa_operation_cancel(pa_operation *o);
46
47/** Return the current status of the operation */
48pa_operation_state_t pa_operation_get_state(pa_operation *o);
49
50PA_C_DECL_END
51
52#endif
53