00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef DETECT_H
00021 #define DETECT_H
00022
00023 #include "gluon_input_export.h"
00024
00025 #include <QtCore/QObject>
00026 #include <QtCore/QSharedData>
00027
00028 namespace GluonInput
00029 {
00030 class Joystick;
00031 class Mouse;
00032 class Touch;
00033 class Keyboard;
00034 class InputDevice;
00035
00036 class GLUON_INPUT_EXPORT Detect : public QObject
00037 {
00038 Q_OBJECT
00039
00040 public:
00041 Detect( QObject* parent = 0 );
00042
00043 virtual void detectDevices() = 0;
00044 virtual void setAllEnabled( bool enable ) = 0;
00045
00046 virtual QList<InputDevice*> inputList() = 0;
00047 virtual QList<Keyboard*> keyboardList() = 0;
00048 virtual QList<Mouse*> mouseList() = 0;
00049 virtual QList<Joystick*> joystickList() = 0;
00050 virtual QList<Touch*> touchList() = 0;
00051 virtual QList<InputDevice*> unknownDeviceList() = 0;
00052
00053 virtual void addInput( InputDevice* i ) = 0;
00054 virtual void addKeyboard( Keyboard* keyboard ) = 0;
00055 virtual void addMouse( Mouse* mouse ) = 0;
00056 virtual void addJoystick( Joystick* joystick ) = 0;
00057 virtual void addTouch( Touch* touch ) = 0;
00058 virtual void addUnknown( InputDevice* i ) = 0;
00059 virtual void clear() = 0;
00060 };
00061 }
00062 #endif