#ifndef fooclientconfhfoo
#define fooclientconfhfoo
/***
This file is part of PulseAudio.
Copyright 2004-2006 Lennart Poettering
PulseAudio is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License,
or (at your option) any later version.
PulseAudio is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with PulseAudio; if not, see .
***/
#include
#include
/* A structure containing configuration data for PulseAudio clients. */
typedef struct pa_client_conf {
char *daemon_binary;
char *extra_arguments;
char *default_sink;
char *default_source;
char *default_server;
char *default_dbus_server;
char *cookie_file_from_env;
uint8_t cookie_from_x11[PA_NATIVE_COOKIE_LENGTH];
bool cookie_from_x11_valid;
char *cookie_file_from_application;
char *cookie_file_from_client_conf;
bool autospawn, disable_shm, disable_memfd, auto_connect_localhost, auto_connect_display;
size_t shm_size;
} pa_client_conf;
/* Create a new configuration data object and reset it to defaults */
pa_client_conf *pa_client_conf_new(void);
void pa_client_conf_free(pa_client_conf *c);
/* Load the configuration data from the client configuration file and
* optionally from X11 and/or environment variables, overwriting the current
* settings in *c. */
void pa_client_conf_load(pa_client_conf *c, bool load_from_x11, bool load_from_env);
/* Load the cookie from the cookie sources specified in the configuration, or
* if nothing is specified or none of the sources work, load the cookie from
* the default source. If the default source doesn't work either, this function
* returns a negative value and initializes the cookie to all-zeroes. */
int pa_client_conf_load_cookie(pa_client_conf *c, uint8_t *cookie, size_t cookie_length);
void pa_client_conf_set_cookie_file_from_application(pa_client_conf *c, const char *cookie_file);
#endif