| Index: base/system_monitor/system_monitor.h
|
| diff --git a/base/system_monitor/system_monitor.h b/base/system_monitor/system_monitor.h
|
| index 7684523616e0bd787e3a30f5ded9c40e1f7b5371..ca45db3d377c73d83bfd0c59c91648c1c55390f3 100644
|
| --- a/base/system_monitor/system_monitor.h
|
| +++ b/base/system_monitor/system_monitor.h
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/base_export.h"
|
| #include "base/basictypes.h"
|
| +#include "base/file_path.h"
|
| #include "build/build_config.h"
|
|
|
| // Windows HiRes timers drain the battery faster so we need to know the battery
|
| @@ -42,6 +43,8 @@ class BASE_EXPORT SystemMonitor {
|
| RESUME_EVENT // The system is being resumed.
|
| };
|
|
|
| + typedef unsigned long DeviceIdType;
|
| +
|
| // Create SystemMonitor. Only one SystemMonitor instance per application
|
| // is allowed.
|
| SystemMonitor();
|
| @@ -93,8 +96,19 @@ class BASE_EXPORT SystemMonitor {
|
| 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() {}
|
|
|
| + // When a media device is attached or detached, one of these two events
|
| + // if triggered.
|
| + // TODO(vandebo) Pass an appropriate device identifier or way to interact
|
| + // with the devices instead of FilePath.
|
| + virtual void OnMediaDeviceAttached(const DeviceIdType& id,
|
| + const std::string& name,
|
| + const FilePath& path) {}
|
| +
|
| + virtual void OnMediaDeviceDetached(const DeviceIdType& id) {}
|
| +
|
| protected:
|
| virtual ~DevicesChangedObserver() {}
|
| };
|
| @@ -123,6 +137,10 @@ class BASE_EXPORT SystemMonitor {
|
|
|
| // Cross-platform handling of a device change event.
|
| void ProcessDevicesChanged();
|
| + void ProcessMediaDeviceAttached(const DeviceIdType& id,
|
| + const std::string& name,
|
| + const FilePath& path);
|
| + void ProcessMediaDeviceDetached(const DeviceIdType& id);
|
|
|
| private:
|
| #if defined(OS_MACOSX)
|
| @@ -141,6 +159,10 @@ class BASE_EXPORT SystemMonitor {
|
|
|
| // Functions to trigger notifications.
|
| void NotifyDevicesChanged();
|
| + void NotifyMediaDeviceAttached(const DeviceIdType& id,
|
| + const std::string& name,
|
| + const FilePath& path);
|
| + void NotifyMediaDeviceDetached(const DeviceIdType& id);
|
| void NotifyPowerStateChange();
|
| void NotifySuspend();
|
| void NotifyResume();
|
|
|