Lab 1 Program C
Fork of mbed by
Diff: TimerEvent.h
- Revision:
- 3:aefd12a1f1c5
- Child:
- 4:5d1359a283bc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TimerEvent.h Fri Nov 14 15:25:20 2008 +0000 @@ -0,0 +1,43 @@ +/* mbed Microcontroller Library - TimerEvent + * Copyright (c) 2007-2008, sford + */ + +#ifndef MBED_TIMEREVENT_H +#define MBED_TIMEREVENT_H + +namespace mbed { + +// Base abstraction for timer interrupts +class TimerEvent { + +public: + + // The handler registered with the underlying timer interrupt + static void irq(); + + // Destruction removes it... + virtual ~TimerEvent(); + +protected: + + // The handler called to service the timer event of the derived class + virtual void handler() = 0; + + // insert in to linked list + void insert(unsigned int timestamp); + + // remove from linked list, if in it + void remove(); + + // Get the current usec timestamp + static unsigned int timestamp(); + + static TimerEvent *_head; // The head of the list of the events, NULL if none + TimerEvent *_next; // Pointer to the next in the list, NULL if last + unsigned int _timestamp; // The timestamp at which the even should be triggered + +}; + +} + +#endif