From 19868de69af59e8022c447a08e4494680a43b02b Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Mon, 13 Feb 2017 17:29:27 +0100 Subject: [PATCH] launcher: API transition (deprecated warnings) Issue #1987 --- repos/gems/src/app/launcher/dialog_nitpicker.h | 11 +++++++---- repos/gems/src/app/launcher/fading_dialog.h | 12 ++++++++---- repos/gems/src/app/launcher/main.cc | 2 +- repos/gems/src/app/launcher/menu_dialog.h | 7 +++++-- repos/gems/src/app/launcher/menu_view_slave.h | 2 +- repos/gems/src/app/launcher/panel_dialog.h | 3 ++- repos/gems/src/app/launcher/subsystem_manager.h | 2 +- repos/os/include/os/single_session_service.h | 6 +++++- repos/os/include/os/slave.h | 7 +++++++ 9 files changed, 37 insertions(+), 15 deletions(-) diff --git a/repos/gems/src/app/launcher/dialog_nitpicker.h b/repos/gems/src/app/launcher/dialog_nitpicker.h index 1f712a23d1..b0064f6a9c 100644 --- a/repos/gems/src/app/launcher/dialog_nitpicker.h +++ b/repos/gems/src/app/launcher/dialog_nitpicker.h @@ -53,19 +53,21 @@ struct Launcher::Dialog_nitpicker_session : Wrapped_nitpicker_session virtual bool handle_input_event(Input::Event const &ev) = 0; }; + Env &_env; + Input_event_handler &_input_event_handler; Rpc_entrypoint &_session_ep; Nitpicker::Session &_nitpicker_session; - Input::Session_client _nitpicker_input { _nitpicker_session.input_session() }; + Input::Session_client _nitpicker_input { _env.rm(), _nitpicker_session.input_session() }; - Attached_dataspace _nitpicker_input_ds { _nitpicker_input.dataspace() }; + Attached_dataspace _nitpicker_input_ds { _env.rm(), _nitpicker_input.dataspace() }; Signal_handler _input_handler; - Input::Session_component _input_session; + Input::Session_component _input_session { _env, _env.ram() }; /** * Constructor @@ -75,12 +77,13 @@ struct Launcher::Dialog_nitpicker_session : Wrapped_nitpicker_session * \param service_ep entrypoint providing the nitpicker session * (slave-specific ep) */ - Dialog_nitpicker_session(Nitpicker::Session &nitpicker_session, + Dialog_nitpicker_session(Env &env, Nitpicker::Session &nitpicker_session, Entrypoint &input_sigh_ep, Rpc_entrypoint &session_ep, Input_event_handler &input_event_handler) : Wrapped_nitpicker_session(nitpicker_session), + _env(env), _input_event_handler(input_event_handler), _session_ep(session_ep), _nitpicker_session(nitpicker_session), diff --git a/repos/gems/src/app/launcher/fading_dialog.h b/repos/gems/src/app/launcher/fading_dialog.h index cc53bc00a6..58d9b56e87 100644 --- a/repos/gems/src/app/launcher/fading_dialog.h +++ b/repos/gems/src/app/launcher/fading_dialog.h @@ -54,6 +54,8 @@ class Launcher::Fading_dialog : private Input_event_handler { private: + Region_map &_rm; + Slave::Connection _dialog_rom; /* dialog reported locally */ @@ -66,7 +68,7 @@ class Launcher::Fading_dialog : private Input_event_handler /* hovered element reported by menu view */ Slave::Connection _hover_report; - Local_reporter _dialog_reporter { "dialog", _dialog_report }; + Local_reporter _dialog_reporter; Input_event_handler &_dialog_input_event_handler; @@ -106,7 +108,7 @@ class Launcher::Fading_dialog : private Input_event_handler if (!_hover_ds.constructed() || _hover_rom.update() == false) { if (_hover_ds.constructed()) _hover_ds->invalidate(); - _hover_ds.construct(_hover_rom.dataspace()); + _hover_ds.construct(_rm, _hover_rom.dataspace()); } Xml_node hover(_hover_ds->local_addr()); @@ -178,12 +180,14 @@ class Launcher::Fading_dialog : private Input_event_handler Dialog_model &dialog_model, Position initial_position) : + _rm(env.rm()), _dialog_rom(report_rom_slave.policy(), Slave::Args("label=", dialog_name)), _dialog_report(report_rom_slave.policy(), Slave::Args("label=", dialog_name, ", buffer_size=4096")), _hover_rom(report_rom_slave.policy(), Slave::Args("label=", hover_name)), _hover_report(report_rom_slave.policy(), Slave::Args("label=", hover_name, ", buffer_size=4096")), + _dialog_reporter(env.rm(), "dialog", _dialog_report), _dialog_input_event_handler(input_event_handler), _hover_handler(hover_handler), _dialog_generator(dialog_generator), @@ -191,10 +195,10 @@ class Launcher::Fading_dialog : private Input_event_handler _hover_update_handler(env.ep(), *this, &Fading_dialog::_handle_hover_update), _fader_slave_ep(&env.pd(), _fader_slave_ep_stack_size, "nit_fader"), _nitpicker_connection(env, "menu"), - _nitpicker_session(_nitpicker_connection, env.ep(), _fader_slave_ep, *this), + _nitpicker_session(env, _nitpicker_connection, env.ep(), _fader_slave_ep, *this), _nit_fader_slave(_fader_slave_ep, env.rm(), env.ram_session_cap(), _nitpicker_service), - _nit_fader_connection(_nit_fader_slave.policy(), Slave::Args("label=menu")), + _nit_fader_connection(env.rm(), _nit_fader_slave.policy(), Slave::Args("label=menu")), _menu_view_slave(env.pd(), env.rm(), env.ram_session_cap(), _nit_fader_connection, _dialog_rom, _hover_report, initial_position) diff --git a/repos/gems/src/app/launcher/main.cc b/repos/gems/src/app/launcher/main.cc index 0d0238d85e..c41e7108c9 100644 --- a/repos/gems/src/app/launcher/main.cc +++ b/repos/gems/src/app/launcher/main.cc @@ -98,7 +98,7 @@ struct Launcher::Main Label _focus_prefix; - Genode::Attached_rom_dataspace _focus_rom { "focus" }; + Genode::Attached_rom_dataspace _focus_rom { _env, "focus" }; void _handle_focus_update(); diff --git a/repos/gems/src/app/launcher/menu_dialog.h b/repos/gems/src/app/launcher/menu_dialog.h index f0595d3516..30406b76dc 100644 --- a/repos/gems/src/app/launcher/menu_dialog.h +++ b/repos/gems/src/app/launcher/menu_dialog.h @@ -39,6 +39,8 @@ class Launcher::Menu_dialog : Input_event_handler, Dialog_generator, private: + Allocator &_alloc; + Response_handler &_response_handler; typedef String<128> Title; @@ -104,10 +106,11 @@ class Launcher::Menu_dialog : Input_event_handler, Dialog_generator, public: Menu_dialog(Env &env, + Allocator &alloc, Report_rom_slave &report_rom_slave, Response_handler &response_handler) : - _response_handler(response_handler), + _alloc(alloc), _response_handler(response_handler), _dialog(env, report_rom_slave, "menu_dialog", "menu_hover", *this, *this, *this, *this, _position) { } @@ -253,7 +256,7 @@ class Launcher::Menu_dialog : Input_event_handler, Dialog_generator, subsystems.for_each_sub_node("subsystem", [&] (Xml_node subsystem) { - Element * const e = new (env()->heap()) Element(subsystem); + Element * const e = new (_alloc) Element(subsystem); _elements.insert(e, last); last = e; diff --git a/repos/gems/src/app/launcher/menu_view_slave.h b/repos/gems/src/app/launcher/menu_view_slave.h index 87d222cd86..264cee02b8 100644 --- a/repos/gems/src/app/launcher/menu_view_slave.h +++ b/repos/gems/src/app/launcher/menu_view_slave.h @@ -87,7 +87,7 @@ class Launcher::Menu_view_slave Position position) : Genode::Slave::Policy(_name(), _name(), *this, ep, rm, ram, _quota()), - _nitpicker(nitpicker_session), + _nitpicker(rm, nitpicker_session), _dialog_rom(dialog_rom_session), _hover_report(hover_report_session), _position(position) diff --git a/repos/gems/src/app/launcher/panel_dialog.h b/repos/gems/src/app/launcher/panel_dialog.h index 6bb83a49cc..b26fa3cf5d 100644 --- a/repos/gems/src/app/launcher/panel_dialog.h +++ b/repos/gems/src/app/launcher/panel_dialog.h @@ -294,13 +294,14 @@ class Launcher::Panel_dialog : Input_event_handler, Dialog_generator, Nitpicker::Session &nitpicker) : _alloc(alloc), + _timer(env), _subsystem_manager(subsystem_manager), _nitpicker(nitpicker), _dialog(env, report_rom_slave, "panel_dialog", "panel_hover", *this, *this, *this, *this, _position), _timer_handler(env.ep(), *this, &Panel_dialog::_handle_timer), _context_dialog(env, report_rom_slave, *this), - _menu_dialog(env, report_rom_slave, *this) + _menu_dialog(env, alloc, report_rom_slave, *this) { _elements.insert(&_menu_button); _timer.sigh(_timer_handler); diff --git a/repos/gems/src/app/launcher/subsystem_manager.h b/repos/gems/src/app/launcher/subsystem_manager.h index 59d1c55cc1..337c9d212b 100644 --- a/repos/gems/src/app/launcher/subsystem_manager.h +++ b/repos/gems/src/app/launcher/subsystem_manager.h @@ -15,7 +15,7 @@ #define _SUBSYSTEM_MANAGER_H_ /* Genode includes */ -#include +#include #include /* CLI-monitor includes */ diff --git a/repos/os/include/os/single_session_service.h b/repos/os/include/os/single_session_service.h index 1271633084..611a66739f 100644 --- a/repos/os/include/os/single_session_service.h +++ b/repos/os/include/os/single_session_service.h @@ -40,7 +40,8 @@ class Genode::Single_session_service */ struct Client : SESSION::Client { - Client(Session_capability cap) : SESSION::Client(cap) { } + Client(Session_capability cap) : SESSION::Client(cap) { } + Client(Region_map &rm, Session_capability cap) : SESSION::Client(rm, cap) { } Session_capability cap() const { return *this; } }; @@ -55,6 +56,9 @@ class Genode::Single_session_service Single_session_service(Session_capability cap) : _client(cap) { } + Single_session_service(Region_map &rm, Session_capability cap) + : _client(rm, cap) { } + Service &service() { return _service; } }; diff --git a/repos/os/include/os/slave.h b/repos/os/include/os/slave.h index 52e3257dff..fd4b2a8cc3 100644 --- a/repos/os/include/os/slave.h +++ b/repos/os/include/os/slave.h @@ -280,6 +280,13 @@ struct Genode::Slave::Connection : private Connection_base, Connection_base(policy, args, affinity), CONNECTION::Client(Connection_base::_cap()) { } + + Connection(Region_map &rm, Slave::Policy &policy, Args const &args, + Affinity const &affinity = Affinity()) + : + Connection_base(policy, args, affinity), + CONNECTION::Client(rm, Connection_base::_cap()) + { } }; #endif /* _INCLUDE__OS__SLAVE_H_ */