PulseAudio  2.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, write to the Free Software
00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00022   USA.
00023 ***/
00024 
00025 #include <pulse/cdecl.h>
00026 #include <pulse/context.h>
00027 #include <pulse/version.h>
00028 #include <pulse/volume.h>
00029 #include <pulse/channelmap.h>
00030 
00036 PA_C_DECL_BEGIN
00037 
00040 typedef struct pa_ext_stream_restore_info {
00041     const char *name;            
00042     pa_channel_map channel_map;  
00043     pa_cvolume volume;           
00044     const char *device;          
00045     int mute;                    
00046 } pa_ext_stream_restore_info;
00047 
00049 typedef void (*pa_ext_stream_restore_test_cb_t)(
00050         pa_context *c,
00051         uint32_t version,
00052         void *userdata);
00053 
00055 pa_operation *pa_ext_stream_restore_test(
00056         pa_context *c,
00057         pa_ext_stream_restore_test_cb_t cb,
00058         void *userdata);
00059 
00061 typedef void (*pa_ext_stream_restore_read_cb_t)(
00062         pa_context *c,
00063         const pa_ext_stream_restore_info *info,
00064         int eol,
00065         void *userdata);
00066 
00068 pa_operation *pa_ext_stream_restore_read(
00069         pa_context *c,
00070         pa_ext_stream_restore_read_cb_t cb,
00071         void *userdata);
00072 
00074 pa_operation *pa_ext_stream_restore_write(
00075         pa_context *c,
00076         pa_update_mode_t mode,
00077         const pa_ext_stream_restore_info data[],
00078         unsigned n,
00079         int apply_immediately,
00080         pa_context_success_cb_t cb,
00081         void *userdata);
00082 
00084 pa_operation *pa_ext_stream_restore_delete(
00085         pa_context *c,
00086         const char *const s[],
00087         pa_context_success_cb_t cb,
00088         void *userdata);
00089 
00091 pa_operation *pa_ext_stream_restore_subscribe(
00092         pa_context *c,
00093         int enable,
00094         pa_context_success_cb_t cb,
00095         void *userdata);
00096 
00098 typedef void (*pa_ext_stream_restore_subscribe_cb_t)(
00099         pa_context *c,
00100         void *userdata);
00101 
00104 void pa_ext_stream_restore_set_subscribe_cb(
00105         pa_context *c,
00106         pa_ext_stream_restore_subscribe_cb_t cb,
00107         void *userdata);
00108 
00109 PA_C_DECL_END
00110 
00111 #endif