X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fgamecontroller.h;h=8fbaea90f7eb86e8f528834c6a55d6de2266bdb4;hb=3bb7bd5d99a71420b1dfa8d433f4f274bbe280fa;hp=5aaa6317322e0da37325359677d42147e331f4f8;hpb=97ea3f88027c577811bcd9717ad506f254d393f5;p=libs%2Fgui.git diff --git a/source/input/gamecontroller.h b/source/input/gamecontroller.h index 5aaa631..8fbaea9 100644 --- a/source/input/gamecontroller.h +++ b/source/input/gamecontroller.h @@ -1,6 +1,7 @@ -#ifndef GAMECONTROLLER_H_ -#define GAMECONTROLLER_H_ +#ifndef MSP_INPUT_GAMECONTROLLER_H_ +#define MSP_INPUT_GAMECONTROLLER_H_ +#include #include #include #include "device.h" @@ -8,17 +9,23 @@ namespace Msp { namespace Input { -class GameController: public Device +class MSPGUI_API GameController: public Device { private: struct Private; - Private *priv; - IO::EventDispatcher *event_disp; + 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 *);