1 #ifndef foopulseproplisthfoo
2 #define foopulseproplisthfoo
23 #include <sys/types.h>
25 #include <pulse/cdecl.h>
27 #include <pulse/version.h>
35 #define PA_PROP_MEDIA_NAME "media.name"
38 #define PA_PROP_MEDIA_TITLE "media.title"
41 #define PA_PROP_MEDIA_ARTIST "media.artist"
44 #define PA_PROP_MEDIA_COPYRIGHT "media.copyright"
47 #define PA_PROP_MEDIA_SOFTWARE "media.software"
50 #define PA_PROP_MEDIA_LANGUAGE "media.language"
53 #define PA_PROP_MEDIA_FILENAME "media.filename"
57 #define PA_PROP_MEDIA_ICON "media.icon"
61 #define PA_PROP_MEDIA_ICON_NAME "media.icon_name"
64 #define PA_PROP_MEDIA_ROLE "media.role"
67 #define PA_PROP_FILTER_WANT "filter.want"
70 #define PA_PROP_FILTER_APPLY "filter.apply"
73 #define PA_PROP_FILTER_SUPPRESS "filter.suppress"
76 #define PA_PROP_EVENT_ID "event.id"
79 #define PA_PROP_EVENT_DESCRIPTION "event.description"
82 #define PA_PROP_EVENT_MOUSE_X "event.mouse.x"
85 #define PA_PROP_EVENT_MOUSE_Y "event.mouse.y"
88 #define PA_PROP_EVENT_MOUSE_HPOS "event.mouse.hpos"
91 #define PA_PROP_EVENT_MOUSE_VPOS "event.mouse.vpos"
94 #define PA_PROP_EVENT_MOUSE_BUTTON "event.mouse.button"
97 #define PA_PROP_WINDOW_NAME "window.name"
100 #define PA_PROP_WINDOW_ID "window.id"
104 #define PA_PROP_WINDOW_ICON "window.icon"
108 #define PA_PROP_WINDOW_ICON_NAME "window.icon_name"
111 #define PA_PROP_WINDOW_X "window.x"
114 #define PA_PROP_WINDOW_Y "window.y"
117 #define PA_PROP_WINDOW_WIDTH "window.width"
120 #define PA_PROP_WINDOW_HEIGHT "window.height"
123 #define PA_PROP_WINDOW_HPOS "window.hpos"
126 #define PA_PROP_WINDOW_VPOS "window.vpos"
129 #define PA_PROP_WINDOW_DESKTOP "window.desktop"
132 #define PA_PROP_WINDOW_X11_DISPLAY "window.x11.display"
135 #define PA_PROP_WINDOW_X11_SCREEN "window.x11.screen"
138 #define PA_PROP_WINDOW_X11_MONITOR "window.x11.monitor"
141 #define PA_PROP_WINDOW_X11_XID "window.x11.xid"
144 #define PA_PROP_APPLICATION_NAME "application.name"
147 #define PA_PROP_APPLICATION_ID "application.id"
150 #define PA_PROP_APPLICATION_VERSION "application.version"
154 #define PA_PROP_APPLICATION_ICON "application.icon"
158 #define PA_PROP_APPLICATION_ICON_NAME "application.icon_name"
161 #define PA_PROP_APPLICATION_LANGUAGE "application.language"
164 #define PA_PROP_APPLICATION_PROCESS_ID "application.process.id"
167 #define PA_PROP_APPLICATION_PROCESS_BINARY "application.process.binary"
170 #define PA_PROP_APPLICATION_PROCESS_USER "application.process.user"
173 #define PA_PROP_APPLICATION_PROCESS_HOST "application.process.host"
176 #define PA_PROP_APPLICATION_PROCESS_MACHINE_ID "application.process.machine_id"
179 #define PA_PROP_APPLICATION_PROCESS_SESSION_ID "application.process.session_id"
182 #define PA_PROP_DEVICE_STRING "device.string"
185 #define PA_PROP_DEVICE_API "device.api"
188 #define PA_PROP_DEVICE_DESCRIPTION "device.description"
191 #define PA_PROP_DEVICE_BUS_PATH "device.bus_path"
194 #define PA_PROP_DEVICE_SERIAL "device.serial"
197 #define PA_PROP_DEVICE_VENDOR_ID "device.vendor.id"
200 #define PA_PROP_DEVICE_VENDOR_NAME "device.vendor.name"
203 #define PA_PROP_DEVICE_PRODUCT_ID "device.product.id"
206 #define PA_PROP_DEVICE_PRODUCT_NAME "device.product.name"
209 #define PA_PROP_DEVICE_CLASS "device.class"
212 #define PA_PROP_DEVICE_FORM_FACTOR "device.form_factor"
215 #define PA_PROP_DEVICE_BUS "device.bus"
219 #define PA_PROP_DEVICE_ICON "device.icon"
223 #define PA_PROP_DEVICE_ICON_NAME "device.icon_name"
226 #define PA_PROP_DEVICE_ACCESS_MODE "device.access_mode"
229 #define PA_PROP_DEVICE_MASTER_DEVICE "device.master_device"
232 #define PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE "device.buffering.buffer_size"
235 #define PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE "device.buffering.fragment_size"
238 #define PA_PROP_DEVICE_PROFILE_NAME "device.profile.name"
241 #define PA_PROP_DEVICE_INTENDED_ROLES "device.intended_roles"
244 #define PA_PROP_DEVICE_PROFILE_DESCRIPTION "device.profile.description"
247 #define PA_PROP_MODULE_AUTHOR "module.author"
250 #define PA_PROP_MODULE_DESCRIPTION "module.description"
253 #define PA_PROP_MODULE_USAGE "module.usage"
256 #define PA_PROP_MODULE_VERSION "module.version"
259 #define PA_PROP_FORMAT_SAMPLE_FORMAT "format.sample_format"
262 #define PA_PROP_FORMAT_RATE "format.rate"
265 #define PA_PROP_FORMAT_CHANNELS "format.channels"
268 #define PA_PROP_FORMAT_CHANNEL_MAP "format.channel_map"
271 #define PA_PROP_CONTEXT_FORCE_DISABLE_SHM "context.force.disable.shm"
274 #define PA_PROP_BLUETOOTH_CODEC "bluetooth.codec"
348 #define PA_UPDATE_SET PA_UPDATE_SET
349 #define PA_UPDATE_MERGE PA_UPDATE_MERGE
350 #define PA_UPDATE_REPLACE PA_UPDATE_REPLACE
#define PA_GCC_PRINTF_ATTR(a, b)
If we're in GNU C, use some magic for detecting invalid format strings.
Definition: gccmacro.h:35
pa_proplist * pa_proplist_new(void)
Allocate a property list.
const char * pa_proplist_iterate(const pa_proplist *p, void **state)
Iterate through the property list.
enum pa_update_mode pa_update_mode_t
Update mode enum for pa_proplist_update().
int pa_proplist_isempty(const pa_proplist *p)
Returns 0 when the proplist is empty, positive otherwise.
int pa_proplist_contains(const pa_proplist *p, const char *key)
Returns 1 if an entry for the specified key exists in the property list.
int pa_proplist_equal(const pa_proplist *a, const pa_proplist *b)
Return non-zero when a and b have the same keys and values.
int pa_proplist_get(const pa_proplist *p, const char *key, const void **data, size_t *nbytes)
Store the value for the specified key in data.
char * pa_proplist_to_string_sep(const pa_proplist *p, const char *sep)
Format the property list nicely as a human readable string and choose the separator.
void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, const pa_proplist *other)
Merge property list "other" into "p", adhering the merge mode as specified in "mode".
void pa_proplist_clear(pa_proplist *p)
Remove all entries from the property list object.
void pa_proplist_free(pa_proplist *p)
Free the property list.
pa_update_mode
Update mode enum for pa_proplist_update().
Definition: proplist.h:331
@ PA_UPDATE_REPLACE
Merge new property list into the existing one, replacing all old entries that share a common key with...
Definition: proplist.h:341
@ PA_UPDATE_MERGE
Merge new property list into the existing one, not replacing any old entries if they share a common k...
Definition: proplist.h:336
@ PA_UPDATE_SET
Replace the entire property list with the new one.
Definition: proplist.h:332
int pa_proplist_setf(pa_proplist *p, const char *key, const char *format,...) PA_GCC_PRINTF_ATTR(3
Append a new string entry to the property list, possibly overwriting an already existing entry with t...
int pa_proplist_sets(pa_proplist *p, const char *key, const char *value)
Append a new string entry to the property list, possibly overwriting an already existing entry with t...
int pa_proplist_key_valid(const char *key)
Returns a non-zero value if the key is valid.
int int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes)
Append a new arbitrary data entry to the property list, possibly overwriting an already existing entr...
const char * pa_proplist_gets(const pa_proplist *p, const char *key)
Return a string entry for the specified key.
pa_proplist * pa_proplist_copy(const pa_proplist *p)
Allocate a new property list and copy over every single entry from the specified list.
int pa_proplist_unset_many(pa_proplist *p, const char *const keys[])
Similar to pa_proplist_unset() but takes an array of keys to remove.
unsigned pa_proplist_size(const pa_proplist *p)
Return the number of entries in the property list.
int pa_proplist_unset(pa_proplist *p, const char *key)
Removes a single entry from the property list, identified be the specified key name.
struct pa_proplist pa_proplist
A property list object.
Definition: proplist.h:278
pa_proplist * pa_proplist_from_string(const char *str)
Allocate a new property list and assign key/value from a human readable string.
char * pa_proplist_to_string(const pa_proplist *p)
Format the property list nicely as a human readable string.
int pa_proplist_setp(pa_proplist *p, const char *pair)
Append a new string entry to the property list, possibly overwriting an already existing entry with t...