Listener.h 990 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Forward.h>
  8. namespace Config {
  9. class Listener {
  10. public:
  11. virtual ~Listener();
  12. static void for_each(Function<void(Listener&)>);
  13. virtual void config_string_did_change(StringView domain, StringView group, StringView key, StringView value);
  14. virtual void config_i32_did_change(StringView domain, StringView group, StringView key, i32 value);
  15. virtual void config_u32_did_change(StringView domain, StringView group, StringView key, u32 value);
  16. virtual void config_bool_did_change(StringView domain, StringView group, StringView key, bool value);
  17. virtual void config_key_was_removed(StringView domain, StringView group, StringView key);
  18. virtual void config_group_was_removed(StringView domain, StringView group);
  19. virtual void config_group_was_added(StringView domain, StringView group);
  20. protected:
  21. Listener();
  22. };
  23. }