LibConfig: Add list methods for groups and keys

Use the methods exposed by ConfigServer to list groups and keys.
This commit is contained in:
faxe1008 2021-11-16 20:08:29 +01:00 committed by Andreas Kling
parent 116d89eec6
commit f10036b7c5
2 changed files with 23 additions and 0 deletions

View file

@ -30,6 +30,16 @@ void Client::monitor_domain(String const& domain)
async_monitor_domain(domain);
}
Vector<String> Client::list_keys(StringView domain, StringView group)
{
return list_config_keys(domain, group);
}
Vector<String> Client::list_groups(StringView domain)
{
return list_config_groups(domain);
}
String Client::read_string(StringView domain, StringView group, StringView key, StringView fallback)
{
return read_string_value(domain, group, key).value_or(fallback);

View file

@ -24,6 +24,9 @@ public:
void pledge_domains(Vector<String> const&);
void monitor_domain(String const&);
Vector<String> list_groups(StringView domain);
Vector<String> list_keys(StringView domain, StringView group);
String read_string(StringView domain, StringView group, StringView key, StringView fallback);
i32 read_i32(StringView domain, StringView group, StringView key, i32 fallback);
bool read_bool(StringView domain, StringView group, StringView key, bool fallback);
@ -47,6 +50,16 @@ private:
void notify_removed_key(String const& domain, String const& group, String const& key) override;
};
inline Vector<String> list_groups(StringView domain)
{
return Client::the().list_groups(domain);
}
inline Vector<String> list_keys(StringView domain, StringView group)
{
return Client::the().list_keys(domain, group);
}
inline String read_string(StringView domain, StringView group, StringView key, StringView fallback = {})
{
return Client::the().read_string(domain, group, key, fallback);