mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:07:35 +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:
parent
c97f7ea23b
commit
bdcd0abf9d
12 changed files with 319 additions and 0 deletions
10
Userland/Services/ConfigServer/ConfigServer.ipc
Normal file
10
Userland/Services/ConfigServer/ConfigServer.ipc
Normal file
|
@ -0,0 +1,10 @@
|
|||
endpoint ConfigServer
|
||||
{
|
||||
read_string_value(String domain, String group, String key) => (Optional<String> value)
|
||||
read_i32_value(String domain, String group, String key) => (Optional<i32> value)
|
||||
read_bool_value(String domain, String group, String key) => (Optional<bool> value)
|
||||
|
||||
write_string_value(String domain, String group, String key, String value) =|
|
||||
write_i32_value(String domain, String group, String key, i32 value) =|
|
||||
write_bool_value(String domain, String group, String key, bool value) =|
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue