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.
4
5#ifndef UI_EVENTS_X_HOTPLUG_EVENT_HANDLER_H_
6#define UI_EVENTS_X_HOTPLUG_EVENT_HANDLER_H_
7
8#include "ui/events/x/device_list_cache_x.h"
9
10namespace ui {
11
12class DeviceHotplugEventObserver;
13
14// Parses X11 native devices and propagates the list of active devices to an
15// observer.
16class EVENTS_BASE_EXPORT HotplugEventHandlerX11 {
17 public:
18  explicit HotplugEventHandlerX11(DeviceHotplugEventObserver* delegate);
19  ~HotplugEventHandlerX11();
20
21  // Called on an X11 hotplug event.
22  void OnHotplugEvent();
23
24 private:
25  void HandleTouchscreenDevices(const XIDeviceList& device_list);
26
27  DeviceHotplugEventObserver* delegate_;  // Not owned.
28
29  DISALLOW_COPY_AND_ASSIGN(HotplugEventHandlerX11);
30};
31
32}  // namespace ui
33
34#endif  // UI_EVENTS_X_HOTPLUG_EVENT_HANDLER_H_
35