mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:37:43 +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
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