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_LANGUAGE "media.language"
00044
00046 #define PA_PROP_MEDIA_FILENAME "media.filename"
00047
00049 #define PA_PROP_MEDIA_ICON "media.icon"
00050
00052 #define PA_PROP_MEDIA_ICON_NAME "media.icon_name"
00053
00055 #define PA_PROP_MEDIA_ROLE "media.role"
00056
00058 #define PA_PROP_EVENT_ID "event.id"
00059
00061 #define PA_PROP_EVENT_DESCRIPTION "event.description"
00062
00064 #define PA_PROP_EVENT_MOUSE_X "event.mouse.x"
00065
00067 #define PA_PROP_EVENT_MOUSE_Y "event.mouse.y"
00068
00070 #define PA_PROP_EVENT_MOUSE_HPOS "event.mouse.hpos"
00071
00073 #define PA_PROP_EVENT_MOUSE_VPOS "event.mouse.vpos"
00074
00076 #define PA_PROP_EVENT_MOUSE_BUTTON "event.mouse.button"
00077
00079 #define PA_PROP_WINDOW_NAME "window.name"
00080
00082 #define PA_PROP_WINDOW_ID "window.id"
00083
00085 #define PA_PROP_WINDOW_ICON "window.icon"
00086
00088 #define PA_PROP_WINDOW_ICON_NAME "window.icon_name"
00089
00091 #define PA_PROP_WINDOW_X11_DISPLAY "window.x11.display"
00092
00094 #define PA_PROP_WINDOW_X11_SCREEN "window.x11.screen"
00095
00097 #define PA_PROP_WINDOW_X11_MONITOR "window.x11.monitor"
00098
00100 #define PA_PROP_WINDOW_X11_XID "window.x11.xid"
00101
00103 #define PA_PROP_APPLICATION_NAME "application.name"
00104
00106 #define PA_PROP_APPLICATION_ID "application.id"
00107
00109 #define PA_PROP_APPLICATION_VERSION "application.version"
00110
00112 #define PA_PROP_APPLICATION_ICON "application.icon"
00113
00115 #define PA_PROP_APPLICATION_ICON_NAME "application.icon_name"
00116
00118 #define PA_PROP_APPLICATION_LANGUAGE "application.language"
00119
00121 #define PA_PROP_APPLICATION_PROCESS_ID "application.process.id"
00122
00124 #define PA_PROP_APPLICATION_PROCESS_BINARY "application.process.binary"
00125
00127 #define PA_PROP_APPLICATION_PROCESS_USER "application.process.user"
00128
00130 #define PA_PROP_APPLICATION_PROCESS_HOST "application.process.host"
00131
00133 #define PA_PROP_APPLICATION_PROCESS_MACHINE_ID "application.process.machine_id"
00134
00136 #define PA_PROP_APPLICATION_PROCESS_SESSION_ID "application.process.session_id"
00137
00139 #define PA_PROP_DEVICE_STRING "device.string"
00140
00142 #define PA_PROP_DEVICE_API "device.api"
00143
00145 #define PA_PROP_DEVICE_DESCRIPTION "device.description"
00146
00148 #define PA_PROP_DEVICE_BUS_PATH "device.bus_path"
00149
00151 #define PA_PROP_DEVICE_SERIAL "device.serial"
00152
00154 #define PA_PROP_DEVICE_VENDOR_PRODUCT_ID "device.vendor_product_id"
00155
00157 #define PA_PROP_DEVICE_CLASS "device.class"
00158
00160 #define PA_PROP_DEVICE_FORM_FACTOR "device.form_factor"
00161
00163 #define PA_PROP_DEVICE_CONNECTOR "device.connector"
00164
00166 #define PA_PROP_DEVICE_ACCESS_MODE "device.access_mode"
00167
00169 #define PA_PROP_DEVICE_MASTER_DEVICE "device.master_device"
00170
00172 #define PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE "device.buffering.buffer_size"
00173
00175 #define PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE "device.buffering.fragment_size"
00176
00178 #define PA_PROP_DEVICE_PROFILE_NAME "device.profile.name"
00179
00181 #define PA_PROP_DEVICE_PROFILE_DESCRIPTION "device.profile.description"
00182
00184 #define PA_PROP_MODULE_AUTHOR "module.author"
00185
00187 #define PA_PROP_MODULE_DESCRIPTION "module.description"
00188
00190 #define PA_PROP_MODULE_USAGE "module.usage"
00191
00193 #define PA_PROP_MODULE_VERSION "module.version"
00194
00197 typedef struct pa_proplist pa_proplist;
00198
00200 pa_proplist* pa_proplist_new(void);
00201
00203 void pa_proplist_free(pa_proplist* p);
00204
00209 int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
00210
00216 int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4);
00217
00221 int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes);
00222
00227 const char *pa_proplist_gets(pa_proplist *p, const char *key);
00228
00234 int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *nbytes);
00235
00237 typedef enum pa_update_mode {
00238 PA_UPDATE_SET,
00241
00242 PA_UPDATE_MERGE,
00246
00247 PA_UPDATE_REPLACE
00251 } pa_update_mode_t;
00252
00254 #define PA_UPDATE_SET PA_UPDATE_SET
00255 #define PA_UPDATE_MERGE PA_UPDATE_MERGE
00256 #define PA_UPDATE_REPLACE PA_UPDATE_REPLACE
00257
00261 void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, pa_proplist *other);
00262
00265 int pa_proplist_unset(pa_proplist *p, const char *key);
00266
00272 int pa_proplist_unset_many(pa_proplist *p, const char * const keys[]);
00273
00283 const char *pa_proplist_iterate(pa_proplist *p, void **state);
00284
00289 char *pa_proplist_to_string(pa_proplist *p);
00290
00294 char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
00295
00298 pa_proplist *pa_proplist_from_string(const char *str);
00299
00302 int pa_proplist_contains(pa_proplist *p, const char *key);
00303
00305 void pa_proplist_clear(pa_proplist *p);
00306
00309 pa_proplist* pa_proplist_copy(pa_proplist *t);
00310
00312 unsigned pa_proplist_size(pa_proplist *t);
00313
00315 int pa_proplist_isempty(pa_proplist *t);
00316
00317 PA_C_DECL_END
00318
00319 #endif