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 33 PA_C_DECL_BEGIN 34 35 /** An asynchronous operation object */ 36 typedef struct pa_operation pa_operation; 37 38 /** Increase the reference count by one */ 39 pa_operation *pa_operation_ref(pa_operation *o); 40 41 /** Decrease the reference count by one */ 42 void 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. */ 45 void pa_operation_cancel(pa_operation *o); 46 47 /** Return the current status of the operation */ 48 pa_operation_state_t pa_operation_get_state(pa_operation *o); 49 50 PA_C_DECL_END 51 52 #endif 53