Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / ui / events / devices / device_hotplug_event_observer.h
blob1e10d28eed88042e0cc293f4890cab7d2422f53b
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_EVENTS_DEVICES_DEVICE_HOTPLUG_EVENT_OBSERVER_H_
6 #define UI_EVENTS_DEVICES_DEVICE_HOTPLUG_EVENT_OBSERVER_H_
8 #include <vector>
10 #include "ui/events/devices/events_devices_export.h"
12 namespace ui {
14 struct InputDevice;
15 struct KeyboardDevice;
16 struct TouchscreenDevice;
18 // Listener for specific input device hotplug events.
19 class EVENTS_DEVICES_EXPORT DeviceHotplugEventObserver {
20 public:
21 virtual ~DeviceHotplugEventObserver() {}
23 // On a hotplug event this is called with the list of available touchscreen
24 // devices. The set of touchscreen devices may not have changed.
25 virtual void OnTouchscreenDevicesUpdated(
26 const std::vector<TouchscreenDevice>& devices) = 0;
28 // On a hotplug event this is called with the list of available keyboard
29 // devices. The set of keyboard devices may not have changed.
30 virtual void OnKeyboardDevicesUpdated(
31 const std::vector<KeyboardDevice>& devices) = 0;
33 // On a hotplug event this is called with the list of available mice. The set
34 // of mice may not have changed.
35 virtual void OnMouseDevicesUpdated(
36 const std::vector<InputDevice>& devices) = 0;
38 // On a hotplug event this is called with the list of available touchpads. The
39 // set of touchpads may not have changed.
40 virtual void OnTouchpadDevicesUpdated(
41 const std::vector<InputDevice>& devices) = 0;
43 // On completion of the initial startup scan. This means all of the above
44 // OnDevicesUpdated() methods have been called with a complete list.
45 virtual void OnDeviceListsComplete() = 0;
48 } // namespace ui
50 #endif // UI_EVENTS_DEVICES_DEVICE_HOTPLUG_EVENT_OBSERVER_H_