mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:47:35 +00:00
LibConfig: Add removal/notifcation for keys
This commit is contained in:
parent
a4a89a63cb
commit
b97f9f8e17
4 changed files with 24 additions and 0 deletions
|
@ -60,6 +60,11 @@ void Client::write_bool(StringView domain, StringView group, StringView key, boo
|
||||||
async_write_bool_value(domain, group, key, value);
|
async_write_bool_value(domain, group, key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::remove_key(StringView domain, StringView group, StringView key)
|
||||||
|
{
|
||||||
|
async_remove_key(domain, group, key);
|
||||||
|
}
|
||||||
|
|
||||||
void Client::notify_changed_string_value(String const& domain, String const& group, String const& key, String const& value)
|
void Client::notify_changed_string_value(String const& domain, String const& group, String const& key, String const& value)
|
||||||
{
|
{
|
||||||
Listener::for_each([&](auto& listener) {
|
Listener::for_each([&](auto& listener) {
|
||||||
|
@ -81,4 +86,11 @@ void Client::notify_changed_bool_value(String const& domain, String const& group
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::notify_removed_key(const String& domain, const String& group, const String& key)
|
||||||
|
{
|
||||||
|
Listener::for_each([&](auto& listener) {
|
||||||
|
listener.config_key_was_removed(domain, group, key);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ public:
|
||||||
void write_string(StringView domain, StringView group, StringView key, StringView value);
|
void write_string(StringView domain, StringView group, StringView key, StringView value);
|
||||||
void write_i32(StringView domain, StringView group, StringView key, i32 value);
|
void write_i32(StringView domain, StringView group, StringView key, i32 value);
|
||||||
void write_bool(StringView domain, StringView group, StringView key, bool value);
|
void write_bool(StringView domain, StringView group, StringView key, bool value);
|
||||||
|
void remove_key(StringView domain, StringView group, StringView key);
|
||||||
|
|
||||||
static Client& the();
|
static Client& the();
|
||||||
|
|
||||||
|
@ -43,6 +44,7 @@ private:
|
||||||
void notify_changed_string_value(String const& domain, String const& group, String const& key, String const& value) override;
|
void notify_changed_string_value(String const& domain, String const& group, String const& key, String const& value) override;
|
||||||
void notify_changed_i32_value(String const& domain, String const& group, String const& key, i32 value) override;
|
void notify_changed_i32_value(String const& domain, String const& group, String const& key, i32 value) override;
|
||||||
void notify_changed_bool_value(String const& domain, String const& group, String const& key, bool value) override;
|
void notify_changed_bool_value(String const& domain, String const& group, String const& key, bool value) override;
|
||||||
|
void notify_removed_key(String const& domain, String const& group, String const& key) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline String read_string(StringView domain, StringView group, StringView key, StringView fallback = {})
|
inline String read_string(StringView domain, StringView group, StringView key, StringView fallback = {})
|
||||||
|
@ -75,6 +77,11 @@ inline void write_bool(StringView domain, StringView group, StringView key, bool
|
||||||
Client::the().write_bool(domain, group, key, value);
|
Client::the().write_bool(domain, group, key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void remove_key(StringView domain, StringView group, StringView key)
|
||||||
|
{
|
||||||
|
Client::the().remove_key(domain, group, key);
|
||||||
|
}
|
||||||
|
|
||||||
inline void pledge_domains(Vector<String> const& domains)
|
inline void pledge_domains(Vector<String> const& domains)
|
||||||
{
|
{
|
||||||
Client::the().pledge_domains(domains);
|
Client::the().pledge_domains(domains);
|
||||||
|
|
|
@ -41,4 +41,8 @@ void Listener::config_bool_did_change(String const&, String const&, String const
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Listener::config_key_was_removed(String const&, String const&, String const&)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ public:
|
||||||
virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value);
|
virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value);
|
||||||
virtual void config_i32_did_change(String const& domain, String const& group, String const& key, i32 value);
|
virtual void config_i32_did_change(String const& domain, String const& group, String const& key, i32 value);
|
||||||
virtual void config_bool_did_change(String const& domain, String const& group, String const& key, bool value);
|
virtual void config_bool_did_change(String const& domain, String const& group, String const& key, bool value);
|
||||||
|
virtual void config_key_was_removed(String const& domain, String const& group, String const& key);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Listener();
|
Listener();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue