|
PulseAudio
9.0
|
00001 #ifndef foopulseextdevicemanagerhfoo 00002 #define foopulseextdevicemanagerhfoo 00003 00004 /*** 00005 This file is part of PulseAudio. 00006 00007 Copyright 2008 Lennart Poettering 00008 Copyright 2009 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/cdecl.h> 00025 #include <pulse/context.h> 00026 #include <pulse/version.h> 00027 00033 PA_C_DECL_BEGIN 00034 00035 /* Don't extend this struct! It will break binary compatibility, because 00036 * pa_ext_device_manager_info.role_priorities points to an array of structs 00037 * instead of an array of pointers to structs. */ 00038 typedef struct pa_ext_device_manager_role_priority_info { 00039 const char *role; 00040 uint32_t priority; 00041 } pa_ext_device_manager_role_priority_info; 00042 00045 typedef struct pa_ext_device_manager_info { 00046 const char *name; 00047 const char *description; 00048 const char *icon; 00049 uint32_t index; 00050 uint32_t n_role_priorities; 00051 pa_ext_device_manager_role_priority_info *role_priorities; 00052 } pa_ext_device_manager_info; 00053 00055 typedef void (*pa_ext_device_manager_test_cb_t)( 00056 pa_context *c, 00057 uint32_t version, 00058 void *userdata); 00059 00061 pa_operation *pa_ext_device_manager_test( 00062 pa_context *c, 00063 pa_ext_device_manager_test_cb_t cb, 00064 void *userdata); 00065 00067 typedef void (*pa_ext_device_manager_read_cb_t)( 00068 pa_context *c, 00069 const pa_ext_device_manager_info *info, 00070 int eol, 00071 void *userdata); 00072 00074 pa_operation *pa_ext_device_manager_read( 00075 pa_context *c, 00076 pa_ext_device_manager_read_cb_t cb, 00077 void *userdata); 00078 00080 pa_operation *pa_ext_device_manager_set_device_description( 00081 pa_context *c, 00082 const char* device, 00083 const char* description, 00084 pa_context_success_cb_t cb, 00085 void *userdata); 00086 00088 pa_operation *pa_ext_device_manager_delete( 00089 pa_context *c, 00090 const char *const s[], 00091 pa_context_success_cb_t cb, 00092 void *userdata); 00093 00095 pa_operation *pa_ext_device_manager_enable_role_device_priority_routing( 00096 pa_context *c, 00097 int enable, 00098 pa_context_success_cb_t cb, 00099 void *userdata); 00100 00102 pa_operation *pa_ext_device_manager_reorder_devices_for_role( 00103 pa_context *c, 00104 const char* role, 00105 const char** devices, 00106 pa_context_success_cb_t cb, 00107 void *userdata); 00108 00110 pa_operation *pa_ext_device_manager_subscribe( 00111 pa_context *c, 00112 int enable, 00113 pa_context_success_cb_t cb, 00114 void *userdata); 00115 00117 typedef void (*pa_ext_device_manager_subscribe_cb_t)( 00118 pa_context *c, 00119 void *userdata); 00120 00123 void pa_ext_device_manager_set_subscribe_cb( 00124 pa_context *c, 00125 pa_ext_device_manager_subscribe_cb_t cb, 00126 void *userdata); 00127 00128 PA_C_DECL_END 00129 00130 #endif