• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
6 #define CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
7 
8 namespace chromeos {
9 
10 // Observers receive notifications when a device has been added/removed.
11 class DeviceHierarchyObserver {
12  public:
13   virtual void DeviceHierarchyChanged() = 0;
14 
15   // Called when a new device (e.g. an external USB keyboard) is attached or
16   // detached.
17   virtual void DeviceAdded(int device_id) = 0;
18   virtual void DeviceRemoved(int device_id) = 0;
19 
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;
24 
25  protected:
~DeviceHierarchyObserver()26   virtual ~DeviceHierarchyObserver() {}
27 };
28 
29 }  // namespace chromeos
30 
31 #endif  // CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
32