1*dc1bdabbSStephan Aßmus /* 2*dc1bdabbSStephan Aßmus * Copyright 2005-2008 Stephan Aßmus <superstippi@gmx.de>. All rights reserved. 3*dc1bdabbSStephan Aßmus * Distributed under the terms of the MIT license. 4*dc1bdabbSStephan Aßmus */ 5*dc1bdabbSStephan Aßmus #ifndef POINTING_DEVICE_H 6*dc1bdabbSStephan Aßmus #define POINTING_DEVICE_H 7*dc1bdabbSStephan Aßmus 8*dc1bdabbSStephan Aßmus #include <SupportDefs.h> 9*dc1bdabbSStephan Aßmus 10*dc1bdabbSStephan Aßmus class DeviceReader; 11*dc1bdabbSStephan Aßmus class MasterServerDevice; 12*dc1bdabbSStephan Aßmus 13*dc1bdabbSStephan Aßmus class PointingDevice { 14*dc1bdabbSStephan Aßmus public: 15*dc1bdabbSStephan Aßmus PointingDevice(MasterServerDevice* parent, 16*dc1bdabbSStephan Aßmus DeviceReader* reader); 17*dc1bdabbSStephan Aßmus virtual ~PointingDevice(); 18*dc1bdabbSStephan Aßmus 19*dc1bdabbSStephan Aßmus virtual status_t InitCheck(); 20*dc1bdabbSStephan Aßmus 21*dc1bdabbSStephan Aßmus virtual status_t Start() = 0; 22*dc1bdabbSStephan Aßmus virtual status_t Stop() = 0; 23*dc1bdabbSStephan Aßmus 24*dc1bdabbSStephan Aßmus virtual void SetActive(bool active); 25*dc1bdabbSStephan Aßmus bool IsActive() const; 26*dc1bdabbSStephan Aßmus 27*dc1bdabbSStephan Aßmus // forwards the device path of the reader 28*dc1bdabbSStephan Aßmus const char* DevicePath() const; 29*dc1bdabbSStephan Aßmus 30*dc1bdabbSStephan Aßmus // hook function to determine if 31*dc1bdabbSStephan Aßmus // PS/2 Mouse thread should be disabled 32*dc1bdabbSStephan Aßmus virtual bool DisablePS2() const; 33*dc1bdabbSStephan Aßmus 34*dc1bdabbSStephan Aßmus // query the device for information 35*dc1bdabbSStephan Aßmus uint16 VendorID() const; 36*dc1bdabbSStephan Aßmus uint16 ProductID() const; 37*dc1bdabbSStephan Aßmus 38*dc1bdabbSStephan Aßmus protected: 39*dc1bdabbSStephan Aßmus MasterServerDevice* fParent; 40*dc1bdabbSStephan Aßmus DeviceReader* fReader; 41*dc1bdabbSStephan Aßmus 42*dc1bdabbSStephan Aßmus volatile bool fActive; 43*dc1bdabbSStephan Aßmus }; 44*dc1bdabbSStephan Aßmus 45*dc1bdabbSStephan Aßmus #endif // POINTING_DEVICE_H 46