mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-31 21:29:06 +00:00
LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
This commit is contained in:
parent
1a4dd47d5f
commit
8260135d4d
Notes:
sideshowbarker
2024-07-17 18:39:11 +09:00
Author: https://github.com/AtkinsSJ
Commit: 8260135d4d
Pull-request: https://github.com/SerenityOS/serenity/pull/12317
Reviewed-by: https://github.com/sin-ack ✅
Reviewed-by: https://github.com/trflynn89
31 changed files with 77 additions and 51 deletions
|
@ -37,14 +37,14 @@ static Core::ConfigFile& ensure_domain_config(String const& domain)
|
|||
if (it != s_cache.end())
|
||||
return *it->value->config;
|
||||
|
||||
auto config = Core::ConfigFile::open_for_app(domain, Core::ConfigFile::AllowWriting::Yes);
|
||||
auto config = Core::ConfigFile::open_for_app(domain, Core::ConfigFile::AllowWriting::Yes).release_value_but_fixme_should_propagate_errors();
|
||||
// FIXME: Use a single FileWatcher with multiple watches inside.
|
||||
auto watcher_or_error = Core::FileWatcher::create(InodeWatcherFlags::Nonblock);
|
||||
VERIFY(!watcher_or_error.is_error());
|
||||
auto result = watcher_or_error.value()->add_watch(config->filename(), Core::FileWatcherEvent::Type::ContentModified);
|
||||
VERIFY(!result.is_error());
|
||||
watcher_or_error.value()->on_change = [config, domain](auto&) {
|
||||
auto new_config = Core::ConfigFile::open(config->filename(), Core::ConfigFile::AllowWriting::Yes);
|
||||
auto new_config = Core::ConfigFile::open(config->filename(), Core::ConfigFile::AllowWriting::Yes).release_value_but_fixme_should_propagate_errors();
|
||||
for (auto& group : config->groups()) {
|
||||
for (auto& key : config->keys(group)) {
|
||||
if (!new_config->has_key(group, key)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue