Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: base/system_monitor/system_monitor.h

Issue 10781014: Isolated FS for media devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed review comments Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_ 5 #ifndef BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
6 #define BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_ 6 #define BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 // This is only implemented on Windows currently. 149 // This is only implemented on Windows currently.
150 virtual void OnDevicesChanged(DeviceType device_type) {} 150 virtual void OnDevicesChanged(DeviceType device_type) {}
151 151
152 // When a media device is attached or detached, one of these two events 152 // When a media device is attached or detached, one of these two events
153 // is triggered. 153 // is triggered.
154 virtual void OnMediaDeviceAttached(const std::string& id, 154 virtual void OnMediaDeviceAttached(const std::string& id,
155 const string16& name, 155 const string16& name,
156 MediaDeviceType type, 156 MediaDeviceType type,
157 const FilePath::StringType& location) {} 157 const FilePath::StringType& location) {}
158 158
159 virtual void OnMediaDeviceDetached(const std::string& id) {} 159 virtual void OnMediaDeviceDetached(const std::string& id,
160 const FilePath::StringType& location) {}
160 161
161 protected: 162 protected:
162 virtual ~DevicesChangedObserver() {} 163 virtual ~DevicesChangedObserver() {}
163 }; 164 };
164 165
165 // Add a new observer. 166 // Add a new observer.
166 // Can be called from any thread. 167 // Can be called from any thread.
167 // Must not be called from within a notification callback. 168 // Must not be called from within a notification callback.
168 void AddPowerObserver(PowerObserver* obs); 169 void AddPowerObserver(PowerObserver* obs);
169 void AddDevicesChangedObserver(DevicesChangedObserver* obs); 170 void AddDevicesChangedObserver(DevicesChangedObserver* obs);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 209
209 // Checks the battery status and notifies observers if the battery 210 // Checks the battery status and notifies observers if the battery
210 // status has changed. 211 // status has changed.
211 void BatteryCheck(); 212 void BatteryCheck();
212 213
213 // Functions to trigger notifications. 214 // Functions to trigger notifications.
214 void NotifyDevicesChanged(DeviceType device_type); 215 void NotifyDevicesChanged(DeviceType device_type);
215 void NotifyMediaDeviceAttached(const std::string& id, 216 void NotifyMediaDeviceAttached(const std::string& id,
216 const string16& name, 217 const string16& name,
217 MediaDeviceType type, 218 MediaDeviceType type,
218 const FilePath::StringType& data); 219 const FilePath::StringType& location);
219 void NotifyMediaDeviceDetached(const std::string& id); 220 void NotifyMediaDeviceDetached(const std::string& id,
221 const FilePath::StringType& location);
220 void NotifyPowerStateChange(); 222 void NotifyPowerStateChange();
221 void NotifySuspend(); 223 void NotifySuspend();
222 void NotifyResume(); 224 void NotifyResume();
223 225
224 scoped_refptr<ObserverListThreadSafe<PowerObserver> > power_observer_list_; 226 scoped_refptr<ObserverListThreadSafe<PowerObserver> > power_observer_list_;
225 scoped_refptr<ObserverListThreadSafe<DevicesChangedObserver> > 227 scoped_refptr<ObserverListThreadSafe<DevicesChangedObserver> >
226 devices_changed_observer_list_; 228 devices_changed_observer_list_;
227 bool battery_in_use_; 229 bool battery_in_use_;
228 bool suspended_; 230 bool suspended_;
229 231
230 #if defined(ENABLE_BATTERY_MONITORING) 232 #if defined(ENABLE_BATTERY_MONITORING)
231 base::OneShotTimer<SystemMonitor> delayed_battery_check_; 233 base::OneShotTimer<SystemMonitor> delayed_battery_check_;
232 #endif 234 #endif
233 235
234 #if defined(OS_IOS) 236 #if defined(OS_IOS)
235 // Holds pointers to system event notification observers. 237 // Holds pointers to system event notification observers.
236 std::vector<id> notification_observers_; 238 std::vector<id> notification_observers_;
237 #endif 239 #endif
238 240
239 // Map of all the attached media devices. 241 // Map of all the attached media devices.
240 MediaDeviceMap media_device_map_; 242 MediaDeviceMap media_device_map_;
241 243
242 DISALLOW_COPY_AND_ASSIGN(SystemMonitor); 244 DISALLOW_COPY_AND_ASSIGN(SystemMonitor);
243 }; 245 };
244 246
245 } // namespace base 247 } // namespace base
246 248
247 #endif // BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_ 249 #endif // BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
OLDNEW
« no previous file with comments | « no previous file | base/system_monitor/system_monitor.cc » ('j') | chrome/browser/media_gallery/media_file_system_registry.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698