00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_INPUT_DEVICE_H
00027 #define NL_INPUT_DEVICE_H
00028
00029 #include "nel/misc/types_nl.h"
00030
00031
00032 namespace NLMISC
00033 {
00034
00035
00036 class CEventServer;
00037 class CInputDeviceServer;
00038 struct IInputDeviceEvent;
00039
00040
00048 struct IInputDevice
00049 {
00053 virtual bool setBufferSize(uint size) = 0;
00055 virtual uint getBufferSize() const = 0;
00056
00058
00059
00064 virtual void begin(CEventServer *server) {}
00065
00070 virtual void poll(CInputDeviceServer *dev) = 0;
00074 virtual void submit(IInputDeviceEvent *deviceEvent, CEventServer *server) = 0;
00081 virtual void transitionOccured(CEventServer *server, const IInputDeviceEvent *nextMessage) {}
00083
00084
00085 virtual ~IInputDevice() {};
00086 };
00087
00088 }
00089
00090
00091 #endif // NL_INPUT_DEVICE_H
00092
00093