summaryrefslogtreecommitdiff
path: root/base/system_monitor/system_monitor.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/system_monitor/system_monitor.h')
-rw-r--r--base/system_monitor/system_monitor.h75
1 files changed, 0 insertions, 75 deletions
diff --git a/base/system_monitor/system_monitor.h b/base/system_monitor/system_monitor.h
deleted file mode 100644
index 7f21e47bad..0000000000
--- a/base/system_monitor/system_monitor.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2012 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 BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
-#define BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
-
-#include "base/base_export.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/observer_list_threadsafe.h"
-#include "build/build_config.h"
-
-namespace base {
-
-// Class for monitoring various system-related subsystems
-// such as power management, network status, etc.
-// TODO(mbelshe): Add support beyond just power management.
-class BASE_EXPORT SystemMonitor {
- public:
- // Type of devices whose change need to be monitored, such as add/remove.
- enum DeviceType {
- DEVTYPE_AUDIO, // Audio device, e.g., microphone.
- DEVTYPE_VIDEO_CAPTURE, // Video capture device, e.g., webcam.
- DEVTYPE_UNKNOWN, // Other devices.
- };
-
- // Create SystemMonitor. Only one SystemMonitor instance per application
- // is allowed.
- SystemMonitor();
- ~SystemMonitor();
-
- // Get the application-wide SystemMonitor (if not present, returns NULL).
- static SystemMonitor* Get();
-
- class BASE_EXPORT DevicesChangedObserver {
- public:
- // Notification that the devices connected to the system have changed.
- // This is only implemented on Windows currently.
- virtual void OnDevicesChanged(DeviceType device_type) {}
-
- protected:
- virtual ~DevicesChangedObserver() = default;
- };
-
- // Add a new observer.
- // Can be called from any thread.
- // Must not be called from within a notification callback.
- void AddDevicesChangedObserver(DevicesChangedObserver* obs);
-
- // Remove an existing observer.
- // Can be called from any thread.
- // Must not be called from within a notification callback.
- void RemoveDevicesChangedObserver(DevicesChangedObserver* obs);
-
- // The ProcessFoo() style methods are a broken pattern and should not
- // be copied. Any significant addition to this class is blocked on
- // refactoring to improve the state of affairs. See http://crbug.com/149059
-
- // Cross-platform handling of a device change event.
- void ProcessDevicesChanged(DeviceType device_type);
-
- private:
- // Functions to trigger notifications.
- void NotifyDevicesChanged(DeviceType device_type);
-
- scoped_refptr<ObserverListThreadSafe<DevicesChangedObserver> >
- devices_changed_observer_list_;
-
- DISALLOW_COPY_AND_ASSIGN(SystemMonitor);
-};
-
-} // namespace base
-
-#endif // BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_