summaryrefslogtreecommitdiffstats
path: root/chromium/ui/events/ozone/device/device_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/events/ozone/device/device_manager.h')
-rw-r--r--chromium/ui/events/ozone/device/device_manager.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/chromium/ui/events/ozone/device/device_manager.h b/chromium/ui/events/ozone/device/device_manager.h
new file mode 100644
index 00000000000..0551e7ecf8b
--- /dev/null
+++ b/chromium/ui/events/ozone/device/device_manager.h
@@ -0,0 +1,36 @@
+// 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_