1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
6 #define CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
10 // Observers receive notifications when a device has been added/removed.
11 class DeviceHierarchyObserver
{
13 virtual void DeviceHierarchyChanged() = 0;
15 // Called when a new device (e.g. an external USB keyboard) is attached or
17 virtual void DeviceAdded(int device_id
) = 0;
18 virtual void DeviceRemoved(int device_id
) = 0;
20 // Called when a key on either a built-in keyboard or an external one is
21 // pressed. |device_id| is the source of the key event which will be sent to
22 // the Chrome window shortly.
23 virtual void DeviceKeyPressedOrReleased(int device_id
) = 0;
26 virtual ~DeviceHierarchyObserver() {}
29 } // namespace chromeos
31 #endif // CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_