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
8namespace chromeos {
9
10// Observers receive notifications when a device has been added/removed.
11class 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 protected:
21  virtual ~DeviceHierarchyObserver() {}
22};
23
24}  // namespace chromeos
25
26#endif  // CHROME_BROWSER_CHROMEOS_DEVICE_HIERARCHY_OBSERVER_H_
27