indexing description: "The Client of the service provided by TM_CLOCK"; "Application classes who require such a service should" "inherit from this class." "Part of the Time Manager framework." deferred class TM_CLIENT feature clock : TM_CLOCK -- One of the clocks with which I may register. change_clock( c : TM_CLOCK ) is -- Make `c' my clock. do clock := c ensure clock = c end wake_up( e : TM_EVENT ) is -- The clock has called me 'cause event `e's time has come. deferred end feature{NONE} register_periodic( p : INTEGER ) is -- Make a periodic event and register it with `clock'. require p > 0 ; clock /= Void local e : TM_EVENT do !!e.make_periodic( Current, p ) clock.register( e ) end register_delayed_periodic( t, p : INTEGER ) is -- Make a periodic event with initial delay `t' and period `p'. require p > 0 ; t > 0 ; clock /= Void local e : TM_EVENT do !!e.make_delayed_periodic( Current, t, p ) clock.register( e ) end register_once( t : INTEGER ) is -- Make a one-time event and register it with `clock'. require t > 0 ; clock /= Void local e : TM_EVENT do !!e.make( Current, t ) clock.register( e ) end end