summaryrefslogtreecommitdiffstats
path: root/device/hid/hid_service_linux.h
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2014-10-16 12:19:14 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-16 19:21:49 +0000
commit7f4f508547ac3058d7c47337313972ec1ac2fb1b (patch)
treedaf6ad84ae3eb0451ba21a203fe7d3ea8bb033ab /device/hid/hid_service_linux.h
parentb92d87bee7689009c26be560634070a33508bcaf (diff)
downloadchromium_src-7f4f508547ac3058d7c47337313972ec1ac2fb1b.zip
chromium_src-7f4f508547ac3058d7c47337313972ec1ac2fb1b.tar.gz
chromium_src-7f4f508547ac3058d7c47337313972ec1ac2fb1b.tar.bz2
Open HID connections asynchronously.
By making HidService::Connect return its result asynchronously platform specific details such as whether device nodes must be opened on a different thread (due to blocking) or requesting access from the Chrome OS permission broker can be abstracted away. BUG=422540 Review URL: https://codereview.chromium.org/660573007 Cr-Commit-Position: refs/heads/master@{#299950}
Diffstat (limited to 'device/hid/hid_service_linux.h')
-rw-r--r--device/hid/hid_service_linux.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/device/hid/hid_service_linux.h b/device/hid/hid_service_linux.h
index 765278f..bc406ad 100644
--- a/device/hid/hid_service_linux.h
+++ b/device/hid/hid_service_linux.h
@@ -23,14 +23,8 @@ class HidServiceLinux : public HidService,
public:
HidServiceLinux(scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner);
-#if defined(OS_CHROMEOS)
- virtual void RequestAccess(
- const HidDeviceId& device_id,
- const base::Callback<void(bool success)>& callback) override;
-#endif
-
- virtual scoped_refptr<HidConnection> Connect(const HidDeviceId& device_id)
- override;
+ virtual void Connect(const HidDeviceId& device_id,
+ const ConnectCallback& callback) override;
// Implements DeviceMonitorLinux::Observer:
virtual void OnDeviceAdded(udev_device* device) override;
@@ -39,9 +33,10 @@ class HidServiceLinux : public HidService,
private:
virtual ~HidServiceLinux();
- void OnRequestAccessComplete(
- const base::Callback<void(bool success)>& callback,
- bool success);
+ void FinishConnect(const HidDeviceId& device_id,
+ const std::string device_node,
+ const ConnectCallback& callback,
+ bool success);
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;