PulseAudio  9.0
ext-stream-restore.h
Go to the documentation of this file.
00001 #ifndef foopulseextstreamrestorehfoo
00002 #define foopulseextstreamrestorehfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2008 Lennart Poettering
00008 
00009   PulseAudio is free software; you can redistribute it and/or modify
00010   it under the terms of the GNU Lesser General Public License as published
00011   by the Free Software Foundation; either version 2.1 of the License,
00012   or (at your option) any later version.
00013 
00014   PulseAudio is distributed in the hope that it will be useful, but
00015   WITHOUT ANY WARRANTY; without even the implied warranty of
00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017   General Public License for more details.
00018 
00019   You should have received a copy of the GNU Lesser General Public License
00020   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
00021 ***/
00022 
00023 #include <pulse/cdecl.h>
00024 #include <pulse/context.h>
00025 #include <pulse/version.h>
00026 #include <pulse/volume.h>
00027 #include <pulse/channelmap.h>
00028 
00034 PA_C_DECL_BEGIN
00035 
00038 typedef struct pa_ext_stream_restore_info {
00039     const char *name;            
00040     pa_channel_map channel_map;  
00041     pa_cvolume volume;           
00042     const char *device;          
00043     int mute;                    
00044 } pa_ext_stream_restore_info;
00045 
00047 typedef void (*pa_ext_stream_restore_test_cb_t)(
00048         pa_context *c,
00049         uint32_t version,
00050         void *userdata);
00051 
00053 pa_operation *pa_ext_stream_restore_test(
00054         pa_context *c,
00055         pa_ext_stream_restore_test_cb_t cb,
00056         void *userdata);
00057 
00059 typedef void (*pa_ext_stream_restore_read_cb_t)(
00060         pa_context *c,
00061         const pa_ext_stream_restore_info *info,
00062         int eol,
00063         void *userdata);
00064 
00066 pa_operation *pa_ext_stream_restore_read(
00067         pa_context *c,
00068         pa_ext_stream_restore_read_cb_t cb,
00069         void *userdata);
00070 
00072 pa_operation *pa_ext_stream_restore_write(
00073         pa_context *c,
00074         pa_update_mode_t mode,
00075         const pa_ext_stream_restore_info data[],
00076         unsigned n,
00077         int apply_immediately,
00078         pa_context_success_cb_t cb,
00079         void *userdata);
00080 
00082 pa_operation *pa_ext_stream_restore_delete(
00083         pa_context *c,
00084         const char *const s[],
00085         pa_context_success_cb_t cb,
00086         void *userdata);
00087 
00089 pa_operation *pa_ext_stream_restore_subscribe(
00090         pa_context *c,
00091         int enable,
00092         pa_context_success_cb_t cb,
00093         void *userdata);
00094 
00096 typedef void (*pa_ext_stream_restore_subscribe_cb_t)(
00097         pa_context *c,
00098         void *userdata);
00099 
00102 void pa_ext_stream_restore_set_subscribe_cb(
00103         pa_context *c,
00104         pa_ext_stream_restore_subscribe_cb_t cb,
00105         void *userdata);
00106 
00107 PA_C_DECL_END
00108 
00109 #endif