blob: 7bffd0979979f8f82d1bacdc8f25a7436c0ea101 [file] [log] [blame]
[email protected]26958d12014-02-27 17:29:101// Copyright 2014 The Chromium Authors. All rights reserved.
[email protected]125724f2014-01-31 20:13:232// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef DEVICE_HID_HID_SERVICE_LINUX_H_
6#define DEVICE_HID_HID_SERVICE_LINUX_H_
7
[email protected]bca53b02014-04-10 15:11:148#include "base/compiler_specific.h"
[email protected]125724f2014-01-31 20:13:239#include "base/macros.h"
[email protected]bca53b02014-04-10 15:11:1410#include "device/hid/device_monitor_linux.h"
[email protected]125724f2014-01-31 20:13:2311#include "device/hid/hid_device_info.h"
12#include "device/hid/hid_service.h"
13
[email protected]bca53b02014-04-10 15:11:1414struct udev_device;
15
[email protected]125724f2014-01-31 20:13:2316namespace device {
17
18class HidConnection;
19
[email protected]125724f2014-01-31 20:13:2320class HidServiceLinux : public HidService,
[email protected]bca53b02014-04-10 15:11:1421 public DeviceMonitorLinux::Observer {
[email protected]125724f2014-01-31 20:13:2322 public:
23 HidServiceLinux();
24
[email protected]26958d12014-02-27 17:29:1025 virtual scoped_refptr<HidConnection> Connect(const HidDeviceId& device_id)
26 OVERRIDE;
[email protected]125724f2014-01-31 20:13:2327
[email protected]bca53b02014-04-10 15:11:1428 // Implements base::DeviceMonitorLinux::Observer:
29 virtual void OnDeviceAdded(udev_device* device) OVERRIDE;
30 virtual void OnDeviceRemoved(udev_device* device) OVERRIDE;
[email protected]125724f2014-01-31 20:13:2331
32 private:
33 virtual ~HidServiceLinux();
34
[email protected]125724f2014-01-31 20:13:2335 DISALLOW_COPY_AND_ASSIGN(HidServiceLinux);
36};
37
38} // namespace device
39
40#endif // DEVICE_HID_HID_SERVICE_LINUX_H_