- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / device_hierarchy_observer.h
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:
26   virtual ~DeviceHierarchyObserver() {}
27 };
28
29 }  // namespace chromeos
30
31 #endif  // CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_