// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_EVENTS_OZONE_DEVICE_DEVICE_MANAGER_H_
#define UI_EVENTS_OZONE_DEVICE_DEVICE_MANAGER_H_

#include "base/memory/scoped_ptr.h"
#include "ui/events/ozone/events_ozone_export.h"

namespace ui {

class DeviceEventObserver;

class EVENTS_OZONE_EXPORT DeviceManager {
 public:
  virtual ~DeviceManager() {}

  // Scans the currently available devices and notifies |observer| for each
  // device found. If also registering for notifications through AddObserver(),
  // the scan should happen after the registration otherwise the observer may
  // miss events.
  virtual void ScanDevices(DeviceEventObserver* observer) = 0;

  // Registers |observer| for device event notifications.
  virtual void AddObserver(DeviceEventObserver* observer) = 0;

  // Removes |observer| from the list of observers notified.
  virtual void RemoveObserver(DeviceEventObserver* observer) = 0;
};

EVENTS_OZONE_EXPORT scoped_ptr<DeviceManager> CreateDeviceManager();

}  // namespace ui

#endif  // UI_EVENTS_OZONE_DEVICE_DEVICE_MANAGER_H_
