mbed libraries for KL25Z

Dependents:   FRDM_RGBLED

Revision:
0:8024c367e29f
Child:
2:e9a661555b58
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TimerEvent.h	Fri Oct 05 09:16:41 2012 +0000
@@ -0,0 +1,44 @@
+/* mbed Microcontroller Library - TimerEvent
+ * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
+ */ 
+ 
+#ifndef MBED_TIMEREVENT_H
+#define MBED_TIMEREVENT_H
+
+#include "us_ticker_api.h"
+
+namespace mbed {
+
+// Base abstraction for timer interrupts
+class TimerEvent {
+
+public:
+
+    TimerEvent();
+    
+    // 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();
+    
+    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
+
+};
+
+} // namespace mbed
+
+#endif