PulseAudio  9.0
ext-device-restore.h
Go to the documentation of this file.
00001 #ifndef foopulseextdevicerestorehfoo
00002 #define foopulseextdevicerestorehfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2008 Lennart Poettering
00008   Copyright 2011 Colin Guthrie
00009 
00010   PulseAudio is free software; you can redistribute it and/or modify
00011   it under the terms of the GNU Lesser General Public License as published
00012   by the Free Software Foundation; either version 2.1 of the License,
00013   or (at your option) any later version.
00014 
00015   PulseAudio is distributed in the hope that it will be useful, but
00016   WITHOUT ANY WARRANTY; without even the implied warranty of
00017   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018   General Public License for more details.
00019 
00020   You should have received a copy of the GNU Lesser General Public License
00021   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
00022 ***/
00023 
00024 #include <pulse/context.h>
00025 #include <pulse/format.h>
00026 #include <pulse/version.h>
00027 
00033 PA_C_DECL_BEGIN
00034 
00037 typedef struct pa_ext_device_restore_info {
00038     pa_device_type_t type;       
00039     uint32_t index;              
00040     uint8_t n_formats;           
00041     pa_format_info **formats;    
00042 } pa_ext_device_restore_info;
00043 
00045 typedef void (*pa_ext_device_restore_test_cb_t)(
00046         pa_context *c,
00047         uint32_t version,
00048         void *userdata);
00049 
00051 pa_operation *pa_ext_device_restore_test(
00052         pa_context *c,
00053         pa_ext_device_restore_test_cb_t cb,
00054         void *userdata);
00055 
00057 pa_operation *pa_ext_device_restore_subscribe(
00058         pa_context *c,
00059         int enable,
00060         pa_context_success_cb_t cb,
00061         void *userdata);
00062 
00064 typedef void (*pa_ext_device_restore_subscribe_cb_t)(
00065         pa_context *c,
00066         pa_device_type_t type,
00067         uint32_t idx,
00068         void *userdata);
00069 
00072 void pa_ext_device_restore_set_subscribe_cb(
00073         pa_context *c,
00074         pa_ext_device_restore_subscribe_cb_t cb,
00075         void *userdata);
00076 
00078 typedef void (*pa_ext_device_restore_read_device_formats_cb_t)(
00079         pa_context *c,
00080         const pa_ext_device_restore_info *info,
00081         int eol,
00082         void *userdata);
00083 
00085 pa_operation *pa_ext_device_restore_read_formats_all(
00086         pa_context *c,
00087         pa_ext_device_restore_read_device_formats_cb_t cb,
00088         void *userdata);
00089 
00091 pa_operation *pa_ext_device_restore_read_formats(
00092         pa_context *c,
00093         pa_device_type_t type,
00094         uint32_t idx,
00095         pa_ext_device_restore_read_device_formats_cb_t cb,
00096         void *userdata);
00097 
00099 pa_operation *pa_ext_device_restore_save_formats(
00100         pa_context *c,
00101         pa_device_type_t type,
00102         uint32_t idx,
00103         uint8_t n_formats,
00104         pa_format_info **formats,
00105         pa_context_success_cb_t cb,
00106         void *userdata);
00107 
00108 PA_C_DECL_END
00109 
00110 #endif