diff options
Diffstat (limited to 'base/system_monitor/system_monitor.h')
-rw-r--r-- | base/system_monitor/system_monitor.h | 75 |
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_ |