AirsoftTimer software based on mbed

Dependencies:   mbed TextLCD keypad

objectives/Objective.h

Committer:
sillevl
Date:
2017-02-09
Revision:
27:f29805113454
Parent:
25:a26b2ec5ab72

File content as of revision 27:f29805113454:

#ifndef OBJECTIVE_H
#define OBJECTIVE_H

// Forward Declarations
class Game;
class LCD;
class Leds;
class Key;
class Button;
class Keyboard;
class Buzzer;

class Objective /*: public ButtonListener*/{
    
    
    public:
    Objective(Game* game);
    
    enum Status { WAITING, ACTIVE, COMPLETED };
    Status getStatus();
    
    void start();
    virtual void run() = 0;
    void complete();
    
    protected:    
    Game* game;
    
    LCD* lcd;
    Leds* leds;
    Key* key;
    Button* button;
    Keyboard* keyboard;
    Buzzer* buzzer;
       
    private:
    volatile Status status;
    
};


#endif