]> git.tdb.fi Git - libs/gui.git/blobdiff - source/input/gamecontroller.h
Use nullptr in place of 0 or NULL
[libs/gui.git] / source / input / gamecontroller.h
index 9ebacee7becbc495c28b27b30e8118804657e698..baf94cb6c9e437f05422636787111c2b1d57d985 100644 (file)
@@ -1,6 +1,8 @@
-#ifndef GAMECONTROLLER_H_
-#define GAMECONTROLLER_H_
+#ifndef MSP_INPUT_GAMECONTROLLER_H_
+#define MSP_INPUT_GAMECONTROLLER_H_
 
+#include <msp/io/eventdispatcher.h>
+#include <msp/time/timedelta.h>
 #include "device.h"
 
 namespace Msp {
@@ -11,13 +13,23 @@ class GameController: public Device
 private:
        struct Private;
 
-       Private *priv;
+       Private *priv = nullptr;
+       IO::EventDispatcher *event_disp = nullptr;
+
+       static bool detect_done;
+       static unsigned n_detected_controllers;
 
 public:
        GameController(unsigned);
-       virtual ~GameController();
+       ~GameController();
+
+       static unsigned detect();
+       static bool is_available(unsigned = 0);
+
+       void use_event_dispatcher(IO::EventDispatcher *);
 
        void tick();
+       void tick(const Time::TimeDelta &);
 };
 
 } // namespace Input