189af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel#ifndef ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H 289af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel#define ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H 389af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 489af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel#include "VirtualTouchpad.h" 589af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 689af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedelnamespace android { 789af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedelnamespace dvr { 889af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 989af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel// VirtualTouchpadClient implements a VirtualTouchpad by connecting to 1089af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel// a VirtualTouchpadService over Binder. 1189af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel// 1289af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedelclass VirtualTouchpadClient : public VirtualTouchpad { 1389af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel public: 1489af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel // VirtualTouchpad implementation: 15de1cdaebc9b8fdbc5348e6c07f849b74bacc485dKevin Schoedel static std::unique_ptr<VirtualTouchpad> Create(); 164b64dd48b6896d6b963f0a3a0259d3d2a7076a9eKevin Schoedel status_t Attach() override; 174b64dd48b6896d6b963f0a3a0259d3d2a7076a9eKevin Schoedel status_t Detach() override; 183002b8a74431dd7c005269cf9306443a4b4963f1Kevin Schoedel status_t Touch(int touchpad, float x, float y, float pressure) override; 193002b8a74431dd7c005269cf9306443a4b4963f1Kevin Schoedel status_t ButtonState(int touchpad, int buttons) override; 204b64dd48b6896d6b963f0a3a0259d3d2a7076a9eKevin Schoedel void dumpInternal(String8& result) override; 2189af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 2289af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel protected: 2389af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel VirtualTouchpadClient() {} 243002b8a74431dd7c005269cf9306443a4b4963f1Kevin Schoedel ~VirtualTouchpadClient() override {} 2589af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 2689af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel private: 2789af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel VirtualTouchpadClient(const VirtualTouchpadClient&) = delete; 2889af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel void operator=(const VirtualTouchpadClient&) = delete; 2989af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel}; 3089af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 3189af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel} // namespace dvr 3289af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel} // namespace android 3389af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel 3489af70bce420f011adfeb0f80984b3895c4d7d9bKevin Schoedel#endif // ANDROID_DVR_VIRTUAL_TOUCHPAD_CLIENT_H 35