module timer { module itt_timer { module ucm_itt { typedef unsigned short timer_number_t; typedef boolean timer_bool_t; typedef unsigned short timer_enum_index_t; enum timeout_enum_t { ABSOLUTE_TIME , RELATIVE_TIME }; struct timeout_t { timer_number_t time_val; timeout_enum_t flag; }; interface itt_callback_intf { void on_timeout (in timeout_t time, in timer_number_t timer_number); }; interface itt_service_intf { void start_periodic_scheduler (in timer_number_t timer_number,in timeout_t delay_time,in timeout_t rate); void start_sporadic_scheduler (in timer_number_t timer_number, in timeout_t time); void cancel_timer (in timer_number_t timer_number); timer_bool_t is_canceled (in timer_number_t timer_number); }; }; }; module ott_timer { module ucm_ott { typedef unsigned short ott_round_t; typedef string ott_str_id; typedef itt_timer::ucm_itt::timer_number_t timer_number_t; interface ott_handler { void on_trigger (in ott_str_id timer,in timer_number_t delta_time,in ott_round_t round); }; interface ott_timer { void cancel (); ::timer::itt_timer::ucm_itt::timer_bool_t is_cancelled (); }; interface ott_scheduler { void scheduler_trigger (in Object trigger_handler,in timer_number_t trigger_delay); void schedule_repeated_trigger (in Object trigger_handler,in timer_number_t start_delay,in timer_number_t interval,in ott_round_t max_rounds); }; }; }; };