printer

Dependents:   Good_Serial_HelloWorld_Mbed

Fork of mbed by gokmen ascioglu

TimerEvent.h

Committer:
redplam
Date:
2014-04-14
Revision:
1:0b0a5a73f998
Parent:
0:a8fa94490a0a

File content as of revision 1:0b0a5a73f998:

/* mbed Microcontroller Library - TimerEvent
 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
 */ 
 
#ifndef MBED_TIMEREVENT_H
#define MBED_TIMEREVENT_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();
    
    // 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

};

} // namespace mbed

#endif