X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fgamecontroller.h;h=8fbaea90f7eb86e8f528834c6a55d6de2266bdb4;hb=11ab96ba152e389814543a6398e2cd6f17a31092;hp=84c50b51c377cd7105947f8109cdfb25d982b155;hpb=0c815f73032aa6006647aff94b5498ac9d1e859b;p=libs%2Fgui.git diff --git a/source/input/gamecontroller.h b/source/input/gamecontroller.h index 84c50b5..8fbaea9 100644 --- a/source/input/gamecontroller.h +++ b/source/input/gamecontroller.h @@ -1,6 +1,7 @@ #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 *);