home *** CD-ROM | disk | FTP | other *** search
- #ifndef INPUTMANAGER_H
- #define INPUTMANAGER_H
-
- #include "InputKeyEvent.h"
- #include <queue>
- #include <list>
- #include <Nocopy.h>
- class InputDevice;
-
- class InputManager : private Nocopy
- {
- public:
- void register_device(InputDevice * device);
- void unregister_device(InputDevice * device);
-
- InputKeyEvent get_key_event();
- bool key_queue_empty();
-
- void add_key_event(const InputKeyEvent & event);
- private:
- typedef std::queue<InputKeyEvent> InputKeyQueue;
-
- InputKeyQueue queue;
- std::list<InputDevice *> devices;
- };
- #endif //INPUTMANAGER_H