Implement config/state file handling

Make methods to load_config and load/save state. For now the config
and state directories are the same but it might not be. Implement
the search path for all config/state files as:

  $XDG_CONFIG_HOME/[$prefix]/$name
  $HOME/.config/[$prefix]/$name
  $PIPEWIRE_CONFIG_DIR/pipewire/[$prefix]/$name
  /etc/pipewire/[$prefix]/$name

Make some config files for jack and RT clients. Make pw-cat use the
client-rt config.

Use core state and config management in media-session.
Move all session manager state and config files to the build dir and
set the PIPEWIRE_CONFIG_DIR to this build dir.
This commit is contained in:
Wim Taymans 2021-02-11 17:54:21 +01:00
parent c605672d43
commit fc90a4e48a
13 changed files with 380 additions and 216 deletions

View file

@ -126,7 +126,7 @@ static void test_create(void)
context = pw_context_new(pw_main_loop_get_loop(loop),
pw_properties_new(
PW_KEY_CONTEXT_PROFILE_MODULES, "none",
PW_KEY_CONFIG_NAME, "null",
NULL), 12);
spa_assert(context != NULL);
pw_context_add_listener(context, &listener, &context_events, context);