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