Migrate app/global_keys_handler to timeout framework
This commit is contained in:
parent
2a526a8cfa
commit
922ed3dfce
|
@ -170,14 +170,18 @@ struct Global_keys_handler::Main
|
|||
xml.attribute("enabled", _curr_value ? "yes" : "no"); });
|
||||
}
|
||||
|
||||
void _generate_report(Genode::Duration) { _generate_report(); }
|
||||
|
||||
/*
|
||||
* Handler used for generating delayed reports
|
||||
*/
|
||||
Constructible<Timer::Connection> _timer { };
|
||||
Timer::Connection _timer;
|
||||
|
||||
uint64_t const _delay_ms;
|
||||
|
||||
Signal_handler<Report> _timer_handler;
|
||||
Timer::One_shot_timeout<Report> _timer_handler {
|
||||
_timer, *this, &Report::_generate_report };
|
||||
|
||||
|
||||
Report(Env &env, Allocator &alloc,
|
||||
Registry<Report> &reports,
|
||||
|
@ -189,8 +193,8 @@ struct Global_keys_handler::Main
|
|||
_element(reports, *this),
|
||||
_bool_states(bool_states),
|
||||
_reporter(env, _name.string()),
|
||||
_delay_ms(node.attribute_value("delay_ms", (uint64_t)0)),
|
||||
_timer_handler(env.ep(), *this, &Report::_generate_report)
|
||||
_timer(env),
|
||||
_delay_ms(node.attribute_value("delay_ms", (uint64_t)0))
|
||||
{
|
||||
_reporter.enabled(true);
|
||||
|
||||
|
@ -201,8 +205,7 @@ struct Global_keys_handler::Main
|
|||
new (alloc) Hover_condition(_hover_conditions, hovered); });
|
||||
|
||||
if (_delay_ms) {
|
||||
_timer.construct(env);
|
||||
_timer->sigh(_timer_handler);
|
||||
_timer_handler.schedule(Microseconds{_delay_ms * 1000});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -233,7 +236,7 @@ struct Global_keys_handler::Main
|
|||
_initial_report = false;
|
||||
|
||||
if (_delay_ms)
|
||||
_timer->trigger_once(_delay_ms*1000);
|
||||
_timer_handler.schedule(Microseconds{_delay_ms * 1000});
|
||||
else
|
||||
_generate_report();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue