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
00026
00027 #include <pulse/cdecl.h>
00028 #include <pulse/gccmacro.h>
00029
00030 PA_C_DECL_BEGIN
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 #define PA_PROP_MEDIA_NAME "media.name"
00072 #define PA_PROP_MEDIA_TITLE "media.title"
00073 #define PA_PROP_MEDIA_ARTIST "media.artist"
00074 #define PA_PROP_MEDIA_LANGUAGE "media.language"
00075 #define PA_PROP_MEDIA_FILENAME "media.filename"
00076 #define PA_PROP_MEDIA_ICON "media.icon"
00077 #define PA_PROP_MEDIA_ICON_NAME "media.icon_name"
00078 #define PA_PROP_MEDIA_ROLE "media.role"
00079 #define PA_PROP_EVENT_ID "event.id"
00080 #define PA_PROP_EVENT_X11_DISPLAY "event.x11.display"
00081 #define PA_PROP_EVENT_X11_XID "event.x11.xid"
00082 #define PA_PROP_EVENT_MOUSE_X "event.mouse.x"
00083 #define PA_PROP_EVENT_MOUSE_Y "event.mouse.y"
00084 #define PA_PROP_EVENT_MOUSE_BUTTON "event.mouse.button"
00085 #define PA_PROP_APPLICATION_NAME "application.name"
00086 #define PA_PROP_APPLICATION_ID "application.id"
00087 #define PA_PROP_APPLICATION_VERSION "application.version"
00088 #define PA_PROP_APPLICATION_ICON "application.icon"
00089 #define PA_PROP_APPLICATION_ICON_NAME "application.icon_name"
00090 #define PA_PROP_APPLICATION_LANGUAGE "application.language"
00091 #define PA_PROP_APPLICATION_PROCESS_ID "application.process.id"
00092 #define PA_PROP_APPLICATION_PROCESS_BINARY "application.process.binary"
00093 #define PA_PROP_APPLICATION_PROCESS_USER "application.process.user"
00094 #define PA_PROP_APPLICATION_PROCESS_HOST "application.process.host"
00095 #define PA_PROP_DEVICE_STRING "device.string"
00096 #define PA_PROP_DEVICE_API "device.api"
00097 #define PA_PROP_DEVICE_DESCRIPTION "device.description"
00098 #define PA_PROP_DEVICE_BUS_PATH "device.bus_path"
00099 #define PA_PROP_DEVICE_SERIAL "device.serial"
00100 #define PA_PROP_DEVICE_VENDOR_PRODUCT_ID "device.vendor_product_id"
00101 #define PA_PROP_DEVICE_CLASS "device.class"
00102 #define PA_PROP_DEVICE_FORM_FACTOR "device.form_factor"
00103 #define PA_PROP_DEVICE_CONNECTOR "device.connector"
00104 #define PA_PROP_DEVICE_ACCESS_MODE "device.access_mode"
00105 #define PA_PROP_DEVICE_MASTER_DEVICE "device.master_device"
00106 #define PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE "device.buffering.buffer_size"
00107 #define PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE "device.buffering.fragment_size"
00108
00111 typedef struct pa_proplist pa_proplist;
00112
00114 pa_proplist* pa_proplist_new(void);
00115
00117 void pa_proplist_free(pa_proplist* p);
00118
00123 int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
00124
00130 int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4);
00131
00135 int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes);
00136
00137
00138
00139
00140
00141 const char *pa_proplist_gets(pa_proplist *p, const char *key);
00142
00148 int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *nbytes);
00149
00151 typedef enum pa_update_mode {
00152 PA_UPDATE_SET,
00153 PA_UPDATE_MERGE,
00154 PA_UPDATE_REPLACE
00155 } pa_update_mode_t;
00156
00159 void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, pa_proplist *other);
00160
00163 int pa_proplist_unset(pa_proplist *p, const char *key);
00164
00170 int pa_proplist_unset_many(pa_proplist *p, const char * const keys[]);
00171
00180 const char *pa_proplist_iterate(pa_proplist *p, void **state);
00181
00184 char *pa_proplist_to_string(pa_proplist *p);
00185
00188 int pa_proplist_contains(pa_proplist *p, const char *key);
00189
00191 void pa_proplist_clear(pa_proplist *p);
00192
00195 pa_proplist* pa_proplist_copy(pa_proplist *t);
00196
00197 PA_C_DECL_END
00198
00199 #endif