00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OIS_InputManager_H
00024 #define OIS_InputManager_H
00025
00026 #include "OISPrereqs.h"
00027
00028 namespace OIS
00029 {
00034 class _OISExport InputManager
00035 {
00036 public:
00043 static unsigned int getVersionNumber();
00044
00051 static const char* getVersionName();
00052
00061 static InputManager* createInputSystem( std::size_t winHandle );
00062
00072 static InputManager* createInputSystem( ParamList ¶mList );
00073
00078 virtual const std::string& inputSystemName() = 0;
00079
00086 static void destroyInputSystem(InputManager* manager);
00087
00092 virtual int numJoysticks() = 0;
00093
00098 virtual int numMice() = 0;
00099
00104 virtual int numKeyBoards() = 0;
00105
00110 virtual Object* createInputObject( Type iType, bool bufferMode ) = 0;
00111
00116 virtual void destroyInputObject( Object* obj ) = 0;
00117
00118 protected:
00120 virtual void _initialize(ParamList ¶mList) = 0;
00121
00122
00123 InputManager() {}
00124 virtual ~InputManager() {}
00125 };
00126 }
00127 #endif