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_
10 #include "ui/events/devices/events_devices_export.h"
15 struct KeyboardDevice
;
16 struct TouchscreenDevice
;
18 // Listener for specific input device hotplug events.
19 class EVENTS_DEVICES_EXPORT DeviceHotplugEventObserver
{
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;
50 #endif // UI_EVENTS_DEVICES_DEVICE_HOTPLUG_EVENT_OBSERVER_H_