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
00050 #define PA_PROP_MEDIA_ICON "media.icon"
00051
00054 #define PA_PROP_MEDIA_ICON_NAME "media.icon_name"
00055
00057 #define PA_PROP_MEDIA_ROLE "media.role"
00058
00060 #define PA_PROP_EVENT_ID "event.id"
00061
00063 #define PA_PROP_EVENT_DESCRIPTION "event.description"
00064
00066 #define PA_PROP_EVENT_MOUSE_X "event.mouse.x"
00067
00069 #define PA_PROP_EVENT_MOUSE_Y "event.mouse.y"
00070
00072 #define PA_PROP_EVENT_MOUSE_HPOS "event.mouse.hpos"
00073
00075 #define PA_PROP_EVENT_MOUSE_VPOS "event.mouse.vpos"
00076
00078 #define PA_PROP_EVENT_MOUSE_BUTTON "event.mouse.button"
00079
00081 #define PA_PROP_WINDOW_NAME "window.name"
00082
00084 #define PA_PROP_WINDOW_ID "window.id"
00085
00088 #define PA_PROP_WINDOW_ICON "window.icon"
00089
00092 #define PA_PROP_WINDOW_ICON_NAME "window.icon_name"
00093
00095 #define PA_PROP_WINDOW_X11_DISPLAY "window.x11.display"
00096
00098 #define PA_PROP_WINDOW_X11_SCREEN "window.x11.screen"
00099
00101 #define PA_PROP_WINDOW_X11_MONITOR "window.x11.monitor"
00102
00104 #define PA_PROP_WINDOW_X11_XID "window.x11.xid"
00105
00107 #define PA_PROP_APPLICATION_NAME "application.name"
00108
00110 #define PA_PROP_APPLICATION_ID "application.id"
00111
00113 #define PA_PROP_APPLICATION_VERSION "application.version"
00114
00117 #define PA_PROP_APPLICATION_ICON "application.icon"
00118
00121 #define PA_PROP_APPLICATION_ICON_NAME "application.icon_name"
00122
00124 #define PA_PROP_APPLICATION_LANGUAGE "application.language"
00125
00127 #define PA_PROP_APPLICATION_PROCESS_ID "application.process.id"
00128
00130 #define PA_PROP_APPLICATION_PROCESS_BINARY "application.process.binary"
00131
00133 #define PA_PROP_APPLICATION_PROCESS_USER "application.process.user"
00134
00136 #define PA_PROP_APPLICATION_PROCESS_HOST "application.process.host"
00137
00139 #define PA_PROP_APPLICATION_PROCESS_MACHINE_ID "application.process.machine_id"
00140
00142 #define PA_PROP_APPLICATION_PROCESS_SESSION_ID "application.process.session_id"
00143
00145 #define PA_PROP_DEVICE_STRING "device.string"
00146
00148 #define PA_PROP_DEVICE_API "device.api"
00149
00151 #define PA_PROP_DEVICE_DESCRIPTION "device.description"
00152
00154 #define PA_PROP_DEVICE_BUS_PATH "device.bus_path"
00155
00157 #define PA_PROP_DEVICE_SERIAL "device.serial"
00158
00160 #define PA_PROP_DEVICE_VENDOR_ID "device.vendor.id"
00161
00163 #define PA_PROP_DEVICE_VENDOR_NAME "device.vendor.name"
00164
00166 #define PA_PROP_DEVICE_PRODUCT_ID "device.product.id"
00167
00169 #define PA_PROP_DEVICE_PRODUCT_NAME "device.product.name"
00170
00172 #define PA_PROP_DEVICE_CLASS "device.class"
00173
00175 #define PA_PROP_DEVICE_FORM_FACTOR "device.form_factor"
00176
00178 #define PA_PROP_DEVICE_BUS "device.bus"
00179
00182 #define PA_PROP_DEVICE_ICON "device.icon"
00183
00186 #define PA_PROP_DEVICE_ICON_NAME "device.icon_name"
00187
00189 #define PA_PROP_DEVICE_ACCESS_MODE "device.access_mode"
00190
00192 #define PA_PROP_DEVICE_MASTER_DEVICE "device.master_device"
00193
00195 #define PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE "device.buffering.buffer_size"
00196
00198 #define PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE "device.buffering.fragment_size"
00199
00201 #define PA_PROP_DEVICE_PROFILE_NAME "device.profile.name"
00202
00204 #define PA_PROP_DEVICE_PROFILE_DESCRIPTION "device.profile.description"
00205
00207 #define PA_PROP_MODULE_AUTHOR "module.author"
00208
00210 #define PA_PROP_MODULE_DESCRIPTION "module.description"
00211
00213 #define PA_PROP_MODULE_USAGE "module.usage"
00214
00216 #define PA_PROP_MODULE_VERSION "module.version"
00217
00220 typedef struct pa_proplist pa_proplist;
00221
00223 pa_proplist* pa_proplist_new(void);
00224
00226 void pa_proplist_free(pa_proplist* p);
00227
00232 int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
00233
00239 int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4);
00240
00244 int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes);
00245
00250 const char *pa_proplist_gets(pa_proplist *p, const char *key);
00251
00257 int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *nbytes);
00258
00260 typedef enum pa_update_mode {
00261 PA_UPDATE_SET,
00264
00265 PA_UPDATE_MERGE,
00269
00270 PA_UPDATE_REPLACE
00274 } pa_update_mode_t;
00275
00277 #define PA_UPDATE_SET PA_UPDATE_SET
00278 #define PA_UPDATE_MERGE PA_UPDATE_MERGE
00279 #define PA_UPDATE_REPLACE PA_UPDATE_REPLACE
00280
00284 void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, pa_proplist *other);
00285
00288 int pa_proplist_unset(pa_proplist *p, const char *key);
00289
00295 int pa_proplist_unset_many(pa_proplist *p, const char * const keys[]);
00296
00306 const char *pa_proplist_iterate(pa_proplist *p, void **state);
00307
00312 char *pa_proplist_to_string(pa_proplist *p);
00313
00317 char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
00318
00321 pa_proplist *pa_proplist_from_string(const char *str);
00322
00325 int pa_proplist_contains(pa_proplist *p, const char *key);
00326
00328 void pa_proplist_clear(pa_proplist *p);
00329
00332 pa_proplist* pa_proplist_copy(pa_proplist *t);
00333
00335 unsigned pa_proplist_size(pa_proplist *t);
00336
00338 int pa_proplist_isempty(pa_proplist *t);
00339
00340 PA_C_DECL_END
00341
00342 #endif