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

Side by Side Diff: chrome/browser/chromeos/file_manager/mounted_disk_monitor.cc

Issue 372853003: Cut reference from MountedDiskMonitor to DiskMountManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix more test Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/chromeos/file_manager/mounted_disk_monitor.h" 5 #include "chrome/browser/chromeos/file_manager/mounted_disk_monitor.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "chromeos/dbus/power_manager_client.h" 10 #include "chromeos/dbus/power_manager_client.h"
11 11
12 using chromeos::disks::DiskMountManager; 12 using chromeos::disks::DiskMountManager;
13 13
14 namespace file_manager { 14 namespace file_manager {
15 namespace { 15 namespace {
16 16
17 // Time span of the resuming process. All unmount events sent during this 17 // Time span of the resuming process. All unmount events sent during this
18 // time are considered as being part of remounting process, since remounting 18 // time are considered as being part of remounting process, since remounting
19 // is done just after resuming. 19 // is done just after resuming.
20 const base::TimeDelta kResumingTimeSpan = base::TimeDelta::FromSeconds(5); 20 const base::TimeDelta kResumingTimeSpan = base::TimeDelta::FromSeconds(5);
21 21
22 } // namespace 22 } // namespace
23 23
24 MountedDiskMonitor::MountedDiskMonitor( 24 MountedDiskMonitor::MountedDiskMonitor(
25 chromeos::PowerManagerClient* power_manager_client, 25 chromeos::PowerManagerClient* power_manager_client)
26 chromeos::disks::DiskMountManager* disk_mount_manager)
27 : power_manager_client_(power_manager_client), 26 : power_manager_client_(power_manager_client),
28 disk_mount_manager_(disk_mount_manager),
29 is_resuming_(false), 27 is_resuming_(false),
30 resuming_time_span_(kResumingTimeSpan), 28 resuming_time_span_(kResumingTimeSpan),
31 weak_factory_(this) { 29 weak_factory_(this) {
32 DCHECK(power_manager_client_); 30 DCHECK(power_manager_client_);
33 DCHECK(disk_mount_manager_);
34 power_manager_client_->AddObserver(this); 31 power_manager_client_->AddObserver(this);
35 disk_mount_manager_->AddObserver(this);
36 disk_mount_manager_->RequestMountInfoRefresh();
37 } 32 }
38 33
39 MountedDiskMonitor::~MountedDiskMonitor() { 34 MountedDiskMonitor::~MountedDiskMonitor() {
40 disk_mount_manager_->RemoveObserver(this);
41 power_manager_client_->RemoveObserver(this); 35 power_manager_client_->RemoveObserver(this);
42 } 36 }
43 37
44 void MountedDiskMonitor::SuspendImminent() { 38 void MountedDiskMonitor::SuspendImminent() {
45 // Flip the resuming flag while suspending, so it is possible to detect 39 // Flip the resuming flag while suspending, so it is possible to detect
46 // resuming as soon as possible after the lid is open. Note, that mount 40 // resuming as soon as possible after the lid is open. Note, that mount
47 // events may occur before the SuspendDone method is called. 41 // events may occur before the SuspendDone method is called.
48 is_resuming_ = true; 42 is_resuming_ = true;
49 weak_factory_.InvalidateWeakPtrs(); 43 weak_factory_.InvalidateWeakPtrs();
50 } 44 }
(...skipping 22 matching lines...) Expand all
73 } 67 }
74 68
75 void MountedDiskMonitor::MarkAsHardUnpluggedReported( 69 void MountedDiskMonitor::MarkAsHardUnpluggedReported(
76 const std::string& device_path) { 70 const std::string& device_path) {
77 hard_unplugged_[device_path] = HARD_UNPLUGGED_AND_REPORTED; 71 hard_unplugged_[device_path] = HARD_UNPLUGGED_AND_REPORTED;
78 } 72 }
79 73
80 void MountedDiskMonitor::OnMountEvent( 74 void MountedDiskMonitor::OnMountEvent(
81 chromeos::disks::DiskMountManager::MountEvent event, 75 chromeos::disks::DiskMountManager::MountEvent event,
82 chromeos::MountError error_code, 76 chromeos::MountError error_code,
83 const chromeos::disks::DiskMountManager::MountPointInfo& mount_info) { 77 const chromeos::disks::DiskMountManager::MountPointInfo& mount_info,
78 const DiskMountManager::Disk* disk) {
84 if (mount_info.mount_type != chromeos::MOUNT_TYPE_DEVICE) 79 if (mount_info.mount_type != chromeos::MOUNT_TYPE_DEVICE)
85 return; 80 return;
86 81
87 switch (event) { 82 switch (event) {
88 case DiskMountManager::MOUNTING: { 83 case DiskMountManager::MOUNTING: {
89 const DiskMountManager::Disk* disk =
90 disk_mount_manager_->FindDiskBySourcePath(mount_info.source_path);
91 if (!disk || error_code != chromeos::MOUNT_ERROR_NONE) 84 if (!disk || error_code != chromeos::MOUNT_ERROR_NONE)
92 return; 85 return;
93 mounted_disks_[mount_info.source_path] = disk->fs_uuid(); 86 mounted_disks_[mount_info.source_path] = disk->fs_uuid();
94 break; 87 break;
95 } 88 }
96 89
97 case DiskMountManager::UNMOUNTING: { 90 case DiskMountManager::UNMOUNTING: {
98 DiskMap::iterator it = mounted_disks_.find(mount_info.source_path); 91 DiskMap::iterator it = mounted_disks_.find(mount_info.source_path);
99 if (it == mounted_disks_.end()) 92 if (it == mounted_disks_.end())
100 return; 93 return;
(...skipping 25 matching lines...) Expand all
126 chromeos::disks::DiskMountManager::DeviceEvent event, 119 chromeos::disks::DiskMountManager::DeviceEvent event,
127 const std::string& device_path) { 120 const std::string& device_path) {
128 if (event == chromeos::disks::DiskMountManager::DEVICE_REMOVED) { 121 if (event == chromeos::disks::DiskMountManager::DEVICE_REMOVED) {
129 const std::map<std::string, HardUnpluggedState>::iterator it 122 const std::map<std::string, HardUnpluggedState>::iterator it
130 = hard_unplugged_.find(device_path); 123 = hard_unplugged_.find(device_path);
131 if (it != hard_unplugged_.end()) 124 if (it != hard_unplugged_.end())
132 hard_unplugged_.erase(it); 125 hard_unplugged_.erase(it);
133 } 126 }
134 } 127 }
135 128
136 void MountedDiskMonitor::OnFormatEvent(
137 chromeos::disks::DiskMountManager::FormatEvent event,
138 chromeos::FormatError error_code,
139 const std::string& device_path) {
140 }
141
142 void MountedDiskMonitor::Reset() { 129 void MountedDiskMonitor::Reset() {
143 unmounted_while_resuming_.clear(); 130 unmounted_while_resuming_.clear();
144 is_resuming_ = false; 131 is_resuming_ = false;
145 } 132 }
146 133
147 } // namespace file_manager 134 } // namespace file_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698