00001 #ifndef foopulseproplisthfoo
00002 #define foopulseproplisthfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <sys/types.h>
00026
00027 #include <pulse/cdecl.h>
00028 #include <pulse/gccmacro.h>
00029 #include <pulse/version.h>
00030
00031 PA_C_DECL_BEGIN
00032
00034 #define PA_PROP_MEDIA_NAME "media.name"
00035
00037 #define PA_PROP_MEDIA_TITLE "media.title"
00038
00040 #define PA_PROP_MEDIA_ARTIST "media.artist"
00041
00043 #define PA_PROP_MEDIA_COPYRIGHT "media.copyright"
00044
00046 #define PA_PROP_MEDIA_SOFTWARE "media.software"
00047
00049 #define PA_PROP_MEDIA_LANGUAGE "media.language"
00050
00052 #define PA_PROP_MEDIA_FILENAME "media.filename"
00053
00056 #define PA_PROP_MEDIA_ICON "media.icon"
00057
00060 #define PA_PROP_MEDIA_ICON_NAME "media.icon_name"
00061
00063 #define PA_PROP_MEDIA_ROLE "media.role"
00064
00066 #define PA_PROP_FILTER_WANT "filter.want"
00067
00069 #define PA_PROP_FILTER_APPLY "filter.apply"
00070
00072 #define PA_PROP_FILTER_SUPPRESS "filter.suppress"
00073
00075 #define PA_PROP_EVENT_ID "event.id"
00076
00078 #define PA_PROP_EVENT_DESCRIPTION "event.description"
00079
00081 #define PA_PROP_EVENT_MOUSE_X "event.mouse.x"
00082
00084 #define PA_PROP_EVENT_MOUSE_Y "event.mouse.y"
00085
00087 #define PA_PROP_EVENT_MOUSE_HPOS "event.mouse.hpos"
00088
00090 #define PA_PROP_EVENT_MOUSE_VPOS "event.mouse.vpos"
00091
00093 #define PA_PROP_EVENT_MOUSE_BUTTON "event.mouse.button"
00094
00096 #define PA_PROP_WINDOW_NAME "window.name"
00097
00099 #define PA_PROP_WINDOW_ID "window.id"
00100
00103 #define PA_PROP_WINDOW_ICON "window.icon"
00104
00107 #define PA_PROP_WINDOW_ICON_NAME "window.icon_name"
00108
00110 #define PA_PROP_WINDOW_X "window.x"
00111
00113 #define PA_PROP_WINDOW_Y "window.y"
00114
00116 #define PA_PROP_WINDOW_WIDTH "window.width"
00117
00119 #define PA_PROP_WINDOW_HEIGHT "window.height"
00120
00122 #define PA_PROP_WINDOW_HPOS "window.hpos"
00123
00125 #define PA_PROP_WINDOW_VPOS "window.vpos"
00126
00128 #define PA_PROP_WINDOW_DESKTOP "window.desktop"
00129
00131 #define PA_PROP_WINDOW_X11_DISPLAY "window.x11.display"
00132
00134 #define PA_PROP_WINDOW_X11_SCREEN "window.x11.screen"
00135
00137 #define PA_PROP_WINDOW_X11_MONITOR "window.x11.monitor"
00138
00140 #define PA_PROP_WINDOW_X11_XID "window.x11.xid"
00141
00143 #define PA_PROP_APPLICATION_NAME "application.name"
00144
00146 #define PA_PROP_APPLICATION_ID "application.id"
00147
00149 #define PA_PROP_APPLICATION_VERSION "application.version"
00150
00153 #define PA_PROP_APPLICATION_ICON "application.icon"
00154
00157 #define PA_PROP_APPLICATION_ICON_NAME "application.icon_name"
00158
00160 #define PA_PROP_APPLICATION_LANGUAGE "application.language"
00161
00163 #define PA_PROP_APPLICATION_PROCESS_ID "application.process.id"
00164
00166 #define PA_PROP_APPLICATION_PROCESS_BINARY "application.process.binary"
00167
00169 #define PA_PROP_APPLICATION_PROCESS_USER "application.process.user"
00170
00172 #define PA_PROP_APPLICATION_PROCESS_HOST "application.process.host"
00173
00175 #define PA_PROP_APPLICATION_PROCESS_MACHINE_ID "application.process.machine_id"
00176
00178 #define PA_PROP_APPLICATION_PROCESS_SESSION_ID "application.process.session_id"
00179
00181 #define PA_PROP_DEVICE_STRING "device.string"
00182
00184 #define PA_PROP_DEVICE_API "device.api"
00185
00187 #define PA_PROP_DEVICE_DESCRIPTION "device.description"
00188
00190 #define PA_PROP_DEVICE_BUS_PATH "device.bus_path"
00191
00193 #define PA_PROP_DEVICE_SERIAL "device.serial"
00194
00196 #define PA_PROP_DEVICE_VENDOR_ID "device.vendor.id"
00197
00199 #define PA_PROP_DEVICE_VENDOR_NAME "device.vendor.name"
00200
00202 #define PA_PROP_DEVICE_PRODUCT_ID "device.product.id"
00203
00205 #define PA_PROP_DEVICE_PRODUCT_NAME "device.product.name"
00206
00208 #define PA_PROP_DEVICE_CLASS "device.class"
00209
00211 #define PA_PROP_DEVICE_FORM_FACTOR "device.form_factor"
00212
00214 #define PA_PROP_DEVICE_BUS "device.bus"
00215
00218 #define PA_PROP_DEVICE_ICON "device.icon"
00219
00222 #define PA_PROP_DEVICE_ICON_NAME "device.icon_name"
00223
00225 #define PA_PROP_DEVICE_ACCESS_MODE "device.access_mode"
00226
00228 #define PA_PROP_DEVICE_MASTER_DEVICE "device.master_device"
00229
00231 #define PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE "device.buffering.buffer_size"
00232
00234 #define PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE "device.buffering.fragment_size"
00235
00237 #define PA_PROP_DEVICE_PROFILE_NAME "device.profile.name"
00238
00240 #define PA_PROP_DEVICE_INTENDED_ROLES "device.intended_roles"
00241
00243 #define PA_PROP_DEVICE_PROFILE_DESCRIPTION "device.profile.description"
00244
00246 #define PA_PROP_MODULE_AUTHOR "module.author"
00247
00249 #define PA_PROP_MODULE_DESCRIPTION "module.description"
00250
00252 #define PA_PROP_MODULE_USAGE "module.usage"
00253
00255 #define PA_PROP_MODULE_VERSION "module.version"
00256
00258 #define PA_PROP_FORMAT_SAMPLE_FORMAT "format.sample_format"
00259
00261 #define PA_PROP_FORMAT_RATE "format.rate"
00262
00264 #define PA_PROP_FORMAT_CHANNELS "format.channels"
00265
00267 #define PA_PROP_FORMAT_CHANNEL_MAP "format.channel_map"
00268
00271 typedef struct pa_proplist pa_proplist;
00272
00274 pa_proplist* pa_proplist_new(void);
00275
00277 void pa_proplist_free(pa_proplist* p);
00278
00283 int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
00284
00291 int pa_proplist_setp(pa_proplist *p, const char *pair);
00292
00298 int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4);
00299
00303 int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes);
00304
00309 const char *pa_proplist_gets(pa_proplist *p, const char *key);
00310
00316 int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *nbytes);
00317
00319 typedef enum pa_update_mode {
00320 PA_UPDATE_SET,
00323
00324 PA_UPDATE_MERGE,
00328
00329 PA_UPDATE_REPLACE
00333 } pa_update_mode_t;
00334
00336 #define PA_UPDATE_SET PA_UPDATE_SET
00337 #define PA_UPDATE_MERGE PA_UPDATE_MERGE
00338 #define PA_UPDATE_REPLACE PA_UPDATE_REPLACE
00339
00343 void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, pa_proplist *other);
00344
00347 int pa_proplist_unset(pa_proplist *p, const char *key);
00348
00354 int pa_proplist_unset_many(pa_proplist *p, const char * const keys[]);
00355
00365 const char *pa_proplist_iterate(pa_proplist *p, void **state);
00366
00371 char *pa_proplist_to_string(pa_proplist *p);
00372
00376 char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
00377
00380 pa_proplist *pa_proplist_from_string(const char *str);
00381
00384 int pa_proplist_contains(pa_proplist *p, const char *key);
00385
00387 void pa_proplist_clear(pa_proplist *p);
00388
00391 pa_proplist* pa_proplist_copy(pa_proplist *t);
00392
00394 unsigned pa_proplist_size(pa_proplist *t);
00395
00397 int pa_proplist_isempty(pa_proplist *t);
00398
00401 int pa_proplist_equal(pa_proplist *a, pa_proplist *b);
00402
00403 PA_C_DECL_END
00404
00405 #endif