mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-30 10:38:55 +00:00
parent
594da536c7
commit
3f66bf25aa
@ -103,6 +103,15 @@ struct Sculpt::Main : Input_event_handler,
|
||||
|
||||
Registry<Child_state> _child_states { };
|
||||
|
||||
void _with_child(auto const &name, auto const &fn)
|
||||
{
|
||||
_child_states.for_each([&] (Child_state &child) {
|
||||
if (child.name() == name)
|
||||
fn(child); });
|
||||
|
||||
_child_states.for_each([&] (Child_state &) { }); /* restore orig. order */
|
||||
}
|
||||
|
||||
Input::Seq_number _global_input_seq_number { };
|
||||
|
||||
Gui::Connection _gui { _env, "input" };
|
||||
@ -1397,17 +1406,17 @@ struct Sculpt::Main : Input_event_handler,
|
||||
*/
|
||||
void restart_deployed_component(Start_name const &name) override
|
||||
{
|
||||
if (name == "nic_drv") {
|
||||
auto restart = [&] (auto const &name)
|
||||
{
|
||||
_with_child(name, [&] (Child_state &child) {
|
||||
child.trigger_restart();
|
||||
generate_runtime_config();
|
||||
});
|
||||
};
|
||||
|
||||
_network.restart_nic_drv_on_next_runtime_cfg();
|
||||
generate_runtime_config();
|
||||
|
||||
} else if (name == "wifi_drv") {
|
||||
|
||||
_network.restart_wifi_drv_on_next_runtime_cfg();
|
||||
generate_runtime_config();
|
||||
|
||||
} else {
|
||||
if (name == "nic" || name == "wifi")
|
||||
restart(name);
|
||||
else {
|
||||
|
||||
_runtime_state.restart(name);
|
||||
|
||||
|
@ -88,6 +88,15 @@ struct Sculpt::Main : Input_event_handler,
|
||||
|
||||
Registry<Child_state> _child_states { };
|
||||
|
||||
void _with_child(auto const &name, auto const &fn)
|
||||
{
|
||||
_child_states.for_each([&] (Child_state &child) {
|
||||
if (child.name() == name)
|
||||
fn(child); });
|
||||
|
||||
_child_states.for_each([&] (Child_state &) { }); /* restore orig. order */
|
||||
}
|
||||
|
||||
Input::Seq_number _global_input_seq_number { };
|
||||
|
||||
Gui::Connection _gui { _env, "input" };
|
||||
@ -932,17 +941,17 @@ struct Sculpt::Main : Input_event_handler,
|
||||
*/
|
||||
void restart_deployed_component(Start_name const &name) override
|
||||
{
|
||||
if (name == "nic") {
|
||||
auto restart = [&] (auto const &name)
|
||||
{
|
||||
_with_child(name, [&] (Child_state &child) {
|
||||
child.trigger_restart();
|
||||
generate_runtime_config();
|
||||
});
|
||||
};
|
||||
|
||||
_network.restart_nic_drv_on_next_runtime_cfg();
|
||||
generate_runtime_config();
|
||||
|
||||
} else if (name == "wifi") {
|
||||
|
||||
_network.restart_wifi_drv_on_next_runtime_cfg();
|
||||
generate_runtime_config();
|
||||
|
||||
} else {
|
||||
if (name == "nic" || name == "wifi")
|
||||
restart(name);
|
||||
else {
|
||||
|
||||
_runtime_state.restart(name);
|
||||
|
||||
|
@ -61,9 +61,6 @@ struct Sculpt::Network : Noncopyable
|
||||
|
||||
Wpa_passphrase wpa_passphrase { };
|
||||
|
||||
unsigned _nic_drv_version = 0;
|
||||
unsigned _wifi_drv_version = 0;
|
||||
|
||||
Rom_handler<Network> _wlan_accesspoints_rom {
|
||||
_env, "report -> runtime/wifi/accesspoints", *this, &Network::_handle_wlan_accesspoints };
|
||||
|
||||
@ -165,9 +162,6 @@ struct Sculpt::Network : Noncopyable
|
||||
});
|
||||
}
|
||||
|
||||
void restart_nic_drv_on_next_runtime_cfg() { _nic_drv_version++; }
|
||||
void restart_wifi_drv_on_next_runtime_cfg() { _wifi_drv_version++; }
|
||||
|
||||
void wifi_disconnect()
|
||||
{
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user