From 0f686a774dd2f274b059507b2c24559492a1b665 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Sat, 28 Oct 2023 12:22:54 +0200 Subject: [PATCH] list_model.h: retire 'update_list_model_from_xml' This transition vehicle to the modern interface has now been replaced by the new 'List_model::update_from_xml' method. Issue #4317 --- repos/base/include/util/list_model.h | 15 ------------- .../src/app/wireguard/config_model.cc | 2 +- repos/gems/src/app/depot_autopilot/children.h | 2 +- repos/gems/src/app/depot_deploy/children.h | 2 +- .../src/app/depot_download_manager/main.cc | 4 ++-- .../gems/src/app/menu_view/depgraph_widget.h | 2 +- repos/gems/src/app/menu_view/label_widget.h | 4 ++-- repos/gems/src/app/menu_view/widget.h | 2 +- .../src/app/sculpt_manager/model/component.h | 2 +- .../src/app/sculpt_manager/model/launchers.h | 2 +- .../src/app/sculpt_manager/model/presets.h | 2 +- .../app/sculpt_manager/model/runtime_config.h | 6 ++--- .../app/sculpt_manager/model/runtime_state.h | 2 +- .../app/sculpt_manager/model/storage_device.h | 2 +- .../sculpt_manager/model/storage_devices.h | 4 ++-- repos/gems/src/app/sculpt_manager/network.cc | 2 +- .../touch_keyboard/touch_keyboard_dialog.h | 6 ++--- .../src/app/window_layouter/assign_list.h | 2 +- .../src/app/window_layouter/window_list.h | 2 +- repos/os/include/decorator/window_stack.h | 2 +- repos/os/src/app/pci_decode/main.cc | 6 ++--- repos/os/src/drivers/platform/device.cc | 22 +++++++++---------- repos/os/src/lib/sandbox/config_model.cc | 4 ++-- repos/os/src/lib/sandbox/config_model.h | 2 +- repos/os/src/server/vmm/config.cc | 2 +- 25 files changed, 44 insertions(+), 59 deletions(-) diff --git a/repos/base/include/util/list_model.h b/repos/base/include/util/list_model.h index 543fcd2291..da849b8fdf 100644 --- a/repos/base/include/util/list_model.h +++ b/repos/base/include/util/list_model.h @@ -214,19 +214,4 @@ void Genode::List_model::update_from_xml(Xml_node const &node, _elements = updated_list; } - -namespace Genode { - - template - static inline void update_list_model_from_xml(List_model &model, - Xml_node const &node, - CREATE_FN const &create_fn, - DESTROY_FN const &destroy_fn, - UPDATE_FN const &update_fn) - { - model.update_from_xml(node, create_fn, destroy_fn, update_fn); - } -} - #endif /* _INCLUDE__UTIL__LIST_MODEL_H_ */ diff --git a/repos/dde_linux/src/app/wireguard/config_model.cc b/repos/dde_linux/src/app/wireguard/config_model.cc index 30a0d380fe..5fa8352cc9 100644 --- a/repos/dde_linux/src/app/wireguard/config_model.cc +++ b/repos/dde_linux/src/app/wireguard/config_model.cc @@ -46,7 +46,7 @@ void Config_model::update(genode_wg_config_callbacks &callbacks, callbacks.add_device(_config->listen_port, private_key); } - update_list_model_from_xml(_peers, node, + _peers.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Peer & diff --git a/repos/gems/src/app/depot_autopilot/children.h b/repos/gems/src/app/depot_autopilot/children.h index 21f67357a6..582aa26499 100644 --- a/repos/gems/src/app/depot_autopilot/children.h +++ b/repos/gems/src/app/depot_autopilot/children.h @@ -54,7 +54,7 @@ class Depot_deploy::Children void apply_config(Xml_node config) { - update_list_model_from_xml(_children, config, + _children.update_from_xml(config, [&] (Xml_node const &node) -> Child & { return *new (_alloc) diff --git a/repos/gems/src/app/depot_deploy/children.h b/repos/gems/src/app/depot_deploy/children.h index a076ebec21..bddafe7faf 100644 --- a/repos/gems/src/app/depot_deploy/children.h +++ b/repos/gems/src/app/depot_deploy/children.h @@ -45,7 +45,7 @@ class Depot_deploy::Children { bool progress = false; - update_list_model_from_xml(_children, config, + _children.update_from_xml(config, /* create */ [&] (Xml_node const &node) -> Child & { diff --git a/repos/gems/src/app/depot_download_manager/main.cc b/repos/gems/src/app/depot_download_manager/main.cc index 0833f80f5e..6218eeb028 100644 --- a/repos/gems/src/app/depot_download_manager/main.cc +++ b/repos/gems/src/app/depot_download_manager/main.cc @@ -163,7 +163,7 @@ struct Depot_download_manager::Main { _installation.update(); - update_list_model_from_xml(_jobs, _installation.xml(), + _jobs.update_from_xml(_installation.xml(), /* create */ [&] (Xml_node const &node) -> Job & { @@ -211,7 +211,7 @@ struct Depot_download_manager::Main bool visible_progress = false; - update_list_model_from_xml(_fetchurl_downloads, _fetchurl_progress.xml(), + _fetchurl_downloads.update_from_xml(_fetchurl_progress.xml(), /* create */ [&] (Xml_node const &node) -> Download & { diff --git a/repos/gems/src/app/menu_view/depgraph_widget.h b/repos/gems/src/app/menu_view/depgraph_widget.h index 5f3e2dd3e6..fecf664e26 100644 --- a/repos/gems/src/app/menu_view/depgraph_widget.h +++ b/repos/gems/src/app/menu_view/depgraph_widget.h @@ -469,7 +469,7 @@ struct Menu_view::Depgraph_widget : Widget { Allocator &alloc = _factory.alloc; - update_list_model_from_xml(_children, node, + _children.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Widget & diff --git a/repos/gems/src/app/menu_view/label_widget.h b/repos/gems/src/app/menu_view/label_widget.h index fbc437a72a..cbbd34230d 100644 --- a/repos/gems/src/app/menu_view/label_widget.h +++ b/repos/gems/src/app/menu_view/label_widget.h @@ -49,7 +49,7 @@ struct Menu_view::Label_widget : Widget, Cursor::Glyph_position void _update_children(Xml_node const &node) { - update_list_model_from_xml(_cursors, node, + _cursors.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Cursor & { @@ -64,7 +64,7 @@ struct Menu_view::Label_widget : Widget, Cursor::Glyph_position cursor.update(node); } ); - update_list_model_from_xml(_selections, node, + _selections.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Text_selection & { diff --git a/repos/gems/src/app/menu_view/widget.h b/repos/gems/src/app/menu_view/widget.h index 90a9ff7c9d..87c5a1fac4 100644 --- a/repos/gems/src/app/menu_view/widget.h +++ b/repos/gems/src/app/menu_view/widget.h @@ -128,7 +128,7 @@ class Menu_view::Widget : List_model::Element inline void _update_children(Xml_node node) { - update_list_model_from_xml(_children, node, + _children.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Widget & { diff --git a/repos/gems/src/app/sculpt_manager/model/component.h b/repos/gems/src/app/sculpt_manager/model/component.h index ee68af777f..d88b52b093 100644 --- a/repos/gems/src/app/sculpt_manager/model/component.h +++ b/repos/gems/src/app/sculpt_manager/model/component.h @@ -71,7 +71,7 @@ struct Sculpt::Component : Noncopyable void _update_routes_from_xml(Xml_node const &node) { - update_list_model_from_xml(routes, node, + routes.update_from_xml(node, /* create */ [&] (Xml_node const &route) -> Route & { diff --git a/repos/gems/src/app/sculpt_manager/model/launchers.h b/repos/gems/src/app/sculpt_manager/model/launchers.h index 196e0d89a3..26a8abbc72 100644 --- a/repos/gems/src/app/sculpt_manager/model/launchers.h +++ b/repos/gems/src/app/sculpt_manager/model/launchers.h @@ -68,7 +68,7 @@ class Sculpt::Launchers : public Noncopyable void update_from_xml(Xml_node const &launchers) { - update_list_model_from_xml(_launchers, launchers, + _launchers.update_from_xml(launchers, /* create */ [&] (Xml_node const &node) -> Launcher & { diff --git a/repos/gems/src/app/sculpt_manager/model/presets.h b/repos/gems/src/app/sculpt_manager/model/presets.h index d5ccbd4f48..8cf72398fa 100644 --- a/repos/gems/src/app/sculpt_manager/model/presets.h +++ b/repos/gems/src/app/sculpt_manager/model/presets.h @@ -92,7 +92,7 @@ class Sculpt::Presets : public Noncopyable void update_from_xml(Xml_node const &presets) { - update_list_model_from_xml(_presets, presets, + _presets.update_from_xml(presets, /* create */ [&] (Xml_node const &node) -> Preset & { diff --git a/repos/gems/src/app/sculpt_manager/model/runtime_config.h b/repos/gems/src/app/sculpt_manager/model/runtime_config.h index 2c770bc57e..8823256915 100644 --- a/repos/gems/src/app/sculpt_manager/model/runtime_config.h +++ b/repos/gems/src/app/sculpt_manager/model/runtime_config.h @@ -256,7 +256,7 @@ class Sculpt::Runtime_config node.with_optional_sub_node("route", [&] (Xml_node route) { - update_list_model_from_xml(deps, route, + deps.update_from_xml(route, /* create */ [&] (Xml_node const &node) -> Dep & { @@ -272,7 +272,7 @@ class Sculpt::Runtime_config node.with_optional_sub_node("provides", [&] (Xml_node provides) { - update_list_model_from_xml(_child_services, provides, + _child_services.update_from_xml(provides, /* create */ [&] (Xml_node const &node) -> Child_service & { @@ -364,7 +364,7 @@ class Sculpt::Runtime_config void update_from_xml(Xml_node config) { - update_list_model_from_xml(_components, config, + _components.update_from_xml(config, /* create */ [&] (Xml_node const &node) -> Component & { diff --git a/repos/gems/src/app/sculpt_manager/model/runtime_state.h b/repos/gems/src/app/sculpt_manager/model/runtime_state.h index d7fcc5fa85..514748651d 100644 --- a/repos/gems/src/app/sculpt_manager/model/runtime_state.h +++ b/repos/gems/src/app/sculpt_manager/model/runtime_state.h @@ -228,7 +228,7 @@ class Sculpt::Runtime_state : public Runtime_info void update_from_state_report(Xml_node state) { - update_list_model_from_xml(_children, state, + _children.update_from_xml(state, /* create */ [&] (Xml_node const &node) -> Child & { diff --git a/repos/gems/src/app/sculpt_manager/model/storage_device.h b/repos/gems/src/app/sculpt_manager/model/storage_device.h index cac1f9fee9..17c14f800b 100644 --- a/repos/gems/src/app/sculpt_manager/model/storage_device.h +++ b/repos/gems/src/app/sculpt_manager/model/storage_device.h @@ -54,7 +54,7 @@ struct Sculpt::Storage_device void _update_partitions_from_xml(Xml_node const &node) { - update_list_model_from_xml(partitions, node, + partitions.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Partition & { diff --git a/repos/gems/src/app/sculpt_manager/model/storage_devices.h b/repos/gems/src/app/sculpt_manager/model/storage_devices.h index 571197fd0c..483af1a6c5 100644 --- a/repos/gems/src/app/sculpt_manager/model/storage_devices.h +++ b/repos/gems/src/app/sculpt_manager/model/storage_devices.h @@ -37,7 +37,7 @@ struct Sculpt::Storage_devices void update_block_devices_from_xml(Env &env, Allocator &alloc, Xml_node node, Signal_context_capability sigh) { - update_list_model_from_xml(block_devices, node, + block_devices.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Block_device & { @@ -72,7 +72,7 @@ struct Sculpt::Storage_devices bool device_added_or_vanished = false; - update_list_model_from_xml(usb_storage_devices, node, + usb_storage_devices.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Usb_storage_device & diff --git a/repos/gems/src/app/sculpt_manager/network.cc b/repos/gems/src/app/sculpt_manager/network.cc index e8125bbfe5..7dad669d38 100644 --- a/repos/gems/src/app/sculpt_manager/network.cc +++ b/repos/gems/src/app/sculpt_manager/network.cc @@ -127,7 +127,7 @@ void Sculpt::Network::_handle_wlan_accesspoints() if (!initial_scan && dialog.ap_list_hovered()) return; - update_list_model_from_xml(_access_points, _wlan_accesspoints_rom.xml(), + _access_points.update_from_xml(_wlan_accesspoints_rom.xml(), /* create */ [&] (Xml_node const &node) -> Access_point & diff --git a/repos/gems/src/app/touch_keyboard/touch_keyboard_dialog.h b/repos/gems/src/app/touch_keyboard/touch_keyboard_dialog.h index c19abcbea9..91ab87ecdb 100644 --- a/repos/gems/src/app/touch_keyboard/touch_keyboard_dialog.h +++ b/repos/gems/src/app/touch_keyboard/touch_keyboard_dialog.h @@ -120,7 +120,7 @@ struct Touch_keyboard::Dialog : private Dynamic_rom_session::Xml_producer void update(Xml_node const &row) { - update_list_model_from_xml(keys, row, + keys.update_from_xml(row, /* create */ [&] (Xml_node const &node) -> Key & { @@ -154,7 +154,7 @@ struct Touch_keyboard::Dialog : private Dynamic_rom_session::Xml_producer void update(Xml_node const &map) { - update_list_model_from_xml(rows, map, + rows.update_from_xml(map, /* create */ [&] (Xml_node const &node) -> Row & { @@ -187,7 +187,7 @@ struct Touch_keyboard::Dialog : private Dynamic_rom_session::Xml_producer { _default_key_min_ex = config.attribute_value("key_min_ex", 0U); - update_list_model_from_xml(_maps, config, + _maps.update_from_xml(config, /* create */ [&] (Xml_node const &node) -> Map & { diff --git a/repos/gems/src/app/window_layouter/assign_list.h b/repos/gems/src/app/window_layouter/assign_list.h index c1105db376..8d4ed67dbb 100644 --- a/repos/gems/src/app/window_layouter/assign_list.h +++ b/repos/gems/src/app/window_layouter/assign_list.h @@ -35,7 +35,7 @@ class Window_layouter::Assign_list : Noncopyable void update_from_xml(Xml_node node) { - update_list_model_from_xml(_assignments, node, + _assignments.update_from_xml(node, [&] (Xml_node const &node) -> Assign & { return *new (_alloc) Assign(node); }, diff --git a/repos/gems/src/app/window_layouter/window_list.h b/repos/gems/src/app/window_layouter/window_list.h index b9f43f289b..4506e1ef8d 100644 --- a/repos/gems/src/app/window_layouter/window_list.h +++ b/repos/gems/src/app/window_layouter/window_list.h @@ -50,7 +50,7 @@ class Window_layouter::Window_list _rom.update(); /* import window-list changes */ - update_list_model_from_xml(_list, _rom.xml(), + _list.update_from_xml(_rom.xml(), [&] (Xml_node const &node) -> Window & { diff --git a/repos/os/include/decorator/window_stack.h b/repos/os/include/decorator/window_stack.h index 10ef545fe5..be4609d2ce 100644 --- a/repos/os/include/decorator/window_stack.h +++ b/repos/os/include/decorator/window_stack.h @@ -192,7 +192,7 @@ void Decorator::Window_stack::update_model(Genode::Xml_node root_node, { Abandoned_windows _abandoned_windows { }; - update_list_model_from_xml(_windows, root_node, + _windows.update_from_xml(root_node, [&] (Xml_node const &node) -> Window_base & { return *_window_factory.create(node); }, diff --git a/repos/os/src/app/pci_decode/main.cc b/repos/os/src/app/pci_decode/main.cc index 1c9f1c108a..e250963955 100644 --- a/repos/os/src/app/pci_decode/main.cc +++ b/repos/os/src/app/pci_decode/main.cc @@ -491,7 +491,7 @@ Main::Main(Env & env) : env(env) if (apic_capable) { - update_list_model_from_xml(irq_override_list, xml, + irq_override_list.update_from_xml(xml, /* create */ [&] (Xml_node const &node) -> Irq_override & @@ -509,7 +509,7 @@ Main::Main(Env & env) : env(env) [&] (Irq_override &, Xml_node const &) { } ); - update_list_model_from_xml(irq_routing_list, xml, + irq_routing_list.update_from_xml(xml, /* create */ [&] (Xml_node const &node) -> Irq_routing & @@ -530,7 +530,7 @@ Main::Main(Env & env) : env(env) ); } - update_list_model_from_xml(reserved_memory_list, xml, + reserved_memory_list.update_from_xml(xml, /* create */ [&] (Xml_node const &node) -> Rmrr & diff --git a/repos/os/src/drivers/platform/device.cc b/repos/os/src/drivers/platform/device.cc index cadd9509da..76410090ac 100644 --- a/repos/os/src/drivers/platform/device.cc +++ b/repos/os/src/drivers/platform/device.cc @@ -188,7 +188,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) { using Bar = Device::Pci_bar; - update_list_model_from_xml(_irq_list, node, + _irq_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Irq & @@ -219,7 +219,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Irq &, Xml_node const &) { } ); - update_list_model_from_xml(_io_mem_list, node, + _io_mem_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Io_mem & @@ -241,7 +241,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Io_mem &, Xml_node const &) { } ); - update_list_model_from_xml(_io_port_range_list, node, + _io_port_range_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Io_port_range & @@ -262,7 +262,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Io_port_range &, Xml_node const &) { } ); - update_list_model_from_xml(_property_list, node, + _property_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Property & @@ -279,7 +279,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Property &, Xml_node const &) { } ); - update_list_model_from_xml(_clock_list, node, + _clock_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Clock & @@ -298,7 +298,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Clock &, Xml_node const &) { } ); - update_list_model_from_xml(_power_domain_list, node, + _power_domain_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Power_domain & @@ -314,7 +314,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Power_domain &, Xml_node const &) { } ); - update_list_model_from_xml(_reset_domain_list, node, + _reset_domain_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Reset_domain & @@ -330,7 +330,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Reset_domain &, Xml_node const &) { } ); - update_list_model_from_xml(_pci_config_list, node, + _pci_config_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Pci_config & @@ -365,7 +365,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Pci_config &, Xml_node const &) { } ); - update_list_model_from_xml(_reserved_mem_list, node, + _reserved_mem_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Reserved_memory & @@ -382,7 +382,7 @@ void Driver::Device::update(Allocator &alloc, Xml_node const &node) [&] (Reserved_memory &, Xml_node const &) { } ); - update_list_model_from_xml(_io_mmu_list, node, + _io_mmu_list.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Io_mmu & @@ -429,7 +429,7 @@ void Driver::Device_model::generate(Xml_generator & xml) const void Driver::Device_model::update(Xml_node const & node) { - update_list_model_from_xml(_model, node, + _model.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Device & diff --git a/repos/os/src/lib/sandbox/config_model.cc b/repos/os/src/lib/sandbox/config_model.cc index fb17b53cb5..c38fc9bb4a 100644 --- a/repos/os/src/lib/sandbox/config_model.cc +++ b/repos/os/src/lib/sandbox/config_model.cc @@ -385,7 +385,7 @@ void Config_model::update_from_xml(Xml_node const &xml, auto update = [&] (Node &node, Xml_node const &xml) { node.update(xml); }; try { - update_list_model_from_xml(_model, xml, create, destroy, update); + _model.update_from_xml(xml, create, destroy, update); } catch (Unknown_element_type) { error("unable to apply complete configuration"); } @@ -405,7 +405,7 @@ void Config_model::apply_children_restart(Xml_node const &xml) }; try { - update_list_model_from_xml(_model, xml, create, destroy, update); + _model.update_from_xml(xml, create, destroy, update); } catch (...) { }; } diff --git a/repos/os/src/lib/sandbox/config_model.h b/repos/os/src/lib/sandbox/config_model.h index 5a007970fe..4843347d0b 100644 --- a/repos/os/src/lib/sandbox/config_model.h +++ b/repos/os/src/lib/sandbox/config_model.h @@ -102,7 +102,7 @@ struct Sandbox::Parent_provides_model : Noncopyable auto update = [&] (Node &, Xml_node const &) { }; try { - update_list_model_from_xml(_model, xml, create, destroy, update); + _model.update_from_xml(xml, create, destroy, update); } catch (...) { error("unable to apply complete configuration"); } diff --git a/repos/os/src/server/vmm/config.cc b/repos/os/src/server/vmm/config.cc index 1e21fabf09..7998d278cd 100644 --- a/repos/os/src/server/vmm/config.cc +++ b/repos/os/src/server/vmm/config.cc @@ -61,7 +61,7 @@ void Vmm::Config::update(Xml_node node) _cpu_count = 1; } - update_list_model_from_xml(_model, node, + _model.update_from_xml(node, /* create */ [&] (Xml_node const &node) -> Virtio_device &