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"); });
|
xml.attribute("enabled", _curr_value ? "yes" : "no"); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _generate_report(Genode::Duration) { _generate_report(); }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handler used for generating delayed reports
|
* Handler used for generating delayed reports
|
||||||
*/
|
*/
|
||||||
Constructible<Timer::Connection> _timer { };
|
Timer::Connection _timer;
|
||||||
|
|
||||||
uint64_t const _delay_ms;
|
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,
|
Report(Env &env, Allocator &alloc,
|
||||||
Registry<Report> &reports,
|
Registry<Report> &reports,
|
||||||
|
@ -189,8 +193,8 @@ struct Global_keys_handler::Main
|
||||||
_element(reports, *this),
|
_element(reports, *this),
|
||||||
_bool_states(bool_states),
|
_bool_states(bool_states),
|
||||||
_reporter(env, _name.string()),
|
_reporter(env, _name.string()),
|
||||||
_delay_ms(node.attribute_value("delay_ms", (uint64_t)0)),
|
_timer(env),
|
||||||
_timer_handler(env.ep(), *this, &Report::_generate_report)
|
_delay_ms(node.attribute_value("delay_ms", (uint64_t)0))
|
||||||
{
|
{
|
||||||
_reporter.enabled(true);
|
_reporter.enabled(true);
|
||||||
|
|
||||||
|
@ -201,8 +205,7 @@ struct Global_keys_handler::Main
|
||||||
new (alloc) Hover_condition(_hover_conditions, hovered); });
|
new (alloc) Hover_condition(_hover_conditions, hovered); });
|
||||||
|
|
||||||
if (_delay_ms) {
|
if (_delay_ms) {
|
||||||
_timer.construct(env);
|
_timer_handler.schedule(Microseconds{_delay_ms * 1000});
|
||||||
_timer->sigh(_timer_handler);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,7 +236,7 @@ struct Global_keys_handler::Main
|
||||||
_initial_report = false;
|
_initial_report = false;
|
||||||
|
|
||||||
if (_delay_ms)
|
if (_delay_ms)
|
||||||
_timer->trigger_once(_delay_ms*1000);
|
_timer_handler.schedule(Microseconds{_delay_ms * 1000});
|
||||||
else
|
else
|
||||||
_generate_report();
|
_generate_report();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user