1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 19:57:44 +00:00

Userland: Introduce ConfigServer and LibConfig

ConfigServer is an IPC service that provides access to application
configuration and settings. The idea is to replace all uses of
Core::ConfigFile with IPC requests to ConfigServer.

This first cut of the API is pretty similar to Core::ConfigFile.

The old:

    auto config = Core::ConfigFile::open_for_app("App");
    auto value = config->read_entry("Group", "Key");

The new:

    auto value = Config::read_string("App", "Group", "Key");

ConfigServer uses the ~/.config directory as its backing store
and all the files remain human-editable. :^)
This commit is contained in:
Andreas Kling 2021-08-25 19:35:19 +02:00
parent c97f7ea23b
commit bdcd0abf9d
12 changed files with 319 additions and 0 deletions

View file

@ -0,0 +1,11 @@
set(SOURCES
Client.cpp
)
set(GENERATED_SOURCES
../../Services/ConfigServer/ConfigServerEndpoint.h
../../Services/ConfigServer/ConfigClientEndpoint.h
)
serenity_lib(LibConfig config)
target_link_libraries(LibConfig LibIPC)