1#ifndef ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H
2#define ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H
3
4#include "VirtualTouchpad.h"
5
6namespace android {
7namespace dvr {
8
9// VirtualTouchpadClient implements a VirtualTouchpad by connecting to
10// a VirtualTouchpadService over Binder.
11//
12class VirtualTouchpadClient : public VirtualTouchpad {
13 public:
14  // VirtualTouchpad implementation:
15  static std::unique_ptr<VirtualTouchpad> Create();
16  status_t Attach() override;
17  status_t Detach() override;
18  status_t Touch(int touchpad, float x, float y, float pressure) override;
19  status_t ButtonState(int touchpad, int buttons) override;
20  void dumpInternal(String8& result) override;
21
22 protected:
23  VirtualTouchpadClient() {}
24  ~VirtualTouchpadClient() override {}
25
26 private:
27  VirtualTouchpadClient(const VirtualTouchpadClient&) = delete;
28  void operator=(const VirtualTouchpadClient&) = delete;
29};
30
31}  // namespace dvr
32}  // namespace android
33
34#endif  // ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H
35