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

Side by Side Diff: chromeos/disks/disk_mount_manager.cc

Issue 628883002: replace OVERRIDE and FINAL with override and final in chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « chromeos/dbus/update_engine_client.cc ('k') | chromeos/ime/fake_ime_keyboard.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "chromeos/disks/disk_mount_manager.h" 5 #include "chromeos/disks/disk_mount_manager.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 cros_disks_client_->SetFormatCompletedHandler( 42 cros_disks_client_->SetFormatCompletedHandler(
43 base::Bind(&DiskMountManagerImpl::OnFormatCompleted, 43 base::Bind(&DiskMountManagerImpl::OnFormatCompleted,
44 weak_ptr_factory_.GetWeakPtr())); 44 weak_ptr_factory_.GetWeakPtr()));
45 } 45 }
46 46
47 virtual ~DiskMountManagerImpl() { 47 virtual ~DiskMountManagerImpl() {
48 STLDeleteContainerPairSecondPointers(disks_.begin(), disks_.end()); 48 STLDeleteContainerPairSecondPointers(disks_.begin(), disks_.end());
49 } 49 }
50 50
51 // DiskMountManager override. 51 // DiskMountManager override.
52 virtual void AddObserver(Observer* observer) OVERRIDE { 52 virtual void AddObserver(Observer* observer) override {
53 observers_.AddObserver(observer); 53 observers_.AddObserver(observer);
54 } 54 }
55 55
56 // DiskMountManager override. 56 // DiskMountManager override.
57 virtual void RemoveObserver(Observer* observer) OVERRIDE { 57 virtual void RemoveObserver(Observer* observer) override {
58 observers_.RemoveObserver(observer); 58 observers_.RemoveObserver(observer);
59 } 59 }
60 60
61 // DiskMountManager override. 61 // DiskMountManager override.
62 virtual void MountPath(const std::string& source_path, 62 virtual void MountPath(const std::string& source_path,
63 const std::string& source_format, 63 const std::string& source_format,
64 const std::string& mount_label, 64 const std::string& mount_label,
65 MountType type) OVERRIDE { 65 MountType type) override {
66 // Hidden and non-existent devices should not be mounted. 66 // Hidden and non-existent devices should not be mounted.
67 if (type == MOUNT_TYPE_DEVICE) { 67 if (type == MOUNT_TYPE_DEVICE) {
68 DiskMap::const_iterator it = disks_.find(source_path); 68 DiskMap::const_iterator it = disks_.find(source_path);
69 if (it == disks_.end() || it->second->is_hidden()) { 69 if (it == disks_.end() || it->second->is_hidden()) {
70 OnMountCompleted(MountEntry(MOUNT_ERROR_INTERNAL, source_path, type, 70 OnMountCompleted(MountEntry(MOUNT_ERROR_INTERNAL, source_path, type,
71 "")); 71 ""));
72 return; 72 return;
73 } 73 }
74 } 74 }
75 cros_disks_client_->Mount( 75 cros_disks_client_->Mount(
76 source_path, 76 source_path,
77 source_format, 77 source_format,
78 mount_label, 78 mount_label,
79 // When succeeds, OnMountCompleted will be called by 79 // When succeeds, OnMountCompleted will be called by
80 // "MountCompleted" signal instead. 80 // "MountCompleted" signal instead.
81 base::Bind(&base::DoNothing), 81 base::Bind(&base::DoNothing),
82 base::Bind(&DiskMountManagerImpl::OnMountCompleted, 82 base::Bind(&DiskMountManagerImpl::OnMountCompleted,
83 weak_ptr_factory_.GetWeakPtr(), 83 weak_ptr_factory_.GetWeakPtr(),
84 MountEntry(MOUNT_ERROR_INTERNAL, source_path, type, ""))); 84 MountEntry(MOUNT_ERROR_INTERNAL, source_path, type, "")));
85 } 85 }
86 86
87 // DiskMountManager override. 87 // DiskMountManager override.
88 virtual void UnmountPath(const std::string& mount_path, 88 virtual void UnmountPath(const std::string& mount_path,
89 UnmountOptions options, 89 UnmountOptions options,
90 const UnmountPathCallback& callback) OVERRIDE { 90 const UnmountPathCallback& callback) override {
91 UnmountChildMounts(mount_path); 91 UnmountChildMounts(mount_path);
92 cros_disks_client_->Unmount(mount_path, options, 92 cros_disks_client_->Unmount(mount_path, options,
93 base::Bind(&DiskMountManagerImpl::OnUnmountPath, 93 base::Bind(&DiskMountManagerImpl::OnUnmountPath,
94 weak_ptr_factory_.GetWeakPtr(), 94 weak_ptr_factory_.GetWeakPtr(),
95 callback, 95 callback,
96 true, 96 true,
97 mount_path), 97 mount_path),
98 base::Bind(&DiskMountManagerImpl::OnUnmountPath, 98 base::Bind(&DiskMountManagerImpl::OnUnmountPath,
99 weak_ptr_factory_.GetWeakPtr(), 99 weak_ptr_factory_.GetWeakPtr(),
100 callback, 100 callback,
101 false, 101 false,
102 mount_path)); 102 mount_path));
103 } 103 }
104 104
105 // DiskMountManager override. 105 // DiskMountManager override.
106 virtual void FormatMountedDevice(const std::string& mount_path) OVERRIDE { 106 virtual void FormatMountedDevice(const std::string& mount_path) override {
107 MountPointMap::const_iterator mount_point = mount_points_.find(mount_path); 107 MountPointMap::const_iterator mount_point = mount_points_.find(mount_path);
108 if (mount_point == mount_points_.end()) { 108 if (mount_point == mount_points_.end()) {
109 LOG(ERROR) << "Mount point with path \"" << mount_path << "\" not found."; 109 LOG(ERROR) << "Mount point with path \"" << mount_path << "\" not found.";
110 OnFormatCompleted(FORMAT_ERROR_UNKNOWN, mount_path); 110 OnFormatCompleted(FORMAT_ERROR_UNKNOWN, mount_path);
111 return; 111 return;
112 } 112 }
113 113
114 std::string device_path = mount_point->second.source_path; 114 std::string device_path = mount_point->second.source_path;
115 DiskMap::const_iterator disk = disks_.find(device_path); 115 DiskMap::const_iterator disk = disks_.find(device_path);
116 if (disk == disks_.end()) { 116 if (disk == disks_.end()) {
117 LOG(ERROR) << "Device with path \"" << device_path << "\" not found."; 117 LOG(ERROR) << "Device with path \"" << device_path << "\" not found.";
118 OnFormatCompleted(FORMAT_ERROR_UNKNOWN, device_path); 118 OnFormatCompleted(FORMAT_ERROR_UNKNOWN, device_path);
119 return; 119 return;
120 } 120 }
121 121
122 UnmountPath(disk->second->mount_path(), 122 UnmountPath(disk->second->mount_path(),
123 UNMOUNT_OPTIONS_NONE, 123 UNMOUNT_OPTIONS_NONE,
124 base::Bind(&DiskMountManagerImpl::OnUnmountPathForFormat, 124 base::Bind(&DiskMountManagerImpl::OnUnmountPathForFormat,
125 weak_ptr_factory_.GetWeakPtr(), 125 weak_ptr_factory_.GetWeakPtr(),
126 device_path)); 126 device_path));
127 } 127 }
128 128
129 // DiskMountManager override. 129 // DiskMountManager override.
130 virtual void UnmountDeviceRecursively( 130 virtual void UnmountDeviceRecursively(
131 const std::string& device_path, 131 const std::string& device_path,
132 const UnmountDeviceRecursivelyCallbackType& callback) OVERRIDE { 132 const UnmountDeviceRecursivelyCallbackType& callback) override {
133 std::vector<std::string> devices_to_unmount; 133 std::vector<std::string> devices_to_unmount;
134 134
135 // Get list of all devices to unmount. 135 // Get list of all devices to unmount.
136 int device_path_len = device_path.length(); 136 int device_path_len = device_path.length();
137 for (DiskMap::iterator it = disks_.begin(); it != disks_.end(); ++it) { 137 for (DiskMap::iterator it = disks_.begin(); it != disks_.end(); ++it) {
138 if (!it->second->mount_path().empty() && 138 if (!it->second->mount_path().empty() &&
139 strncmp(device_path.c_str(), it->second->device_path().c_str(), 139 strncmp(device_path.c_str(), it->second->device_path().c_str(),
140 device_path_len) == 0) { 140 device_path_len) == 0) {
141 devices_to_unmount.push_back(it->second->mount_path()); 141 devices_to_unmount.push_back(it->second->mount_path());
142 } 142 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 base::Bind(&DiskMountManagerImpl::OnUnmountDeviceRecursively, 185 base::Bind(&DiskMountManagerImpl::OnUnmountDeviceRecursively,
186 weak_ptr_factory_.GetWeakPtr(), 186 weak_ptr_factory_.GetWeakPtr(),
187 cb_data, 187 cb_data,
188 false, 188 false,
189 devices_to_unmount[i])); 189 devices_to_unmount[i]));
190 } 190 }
191 } 191 }
192 192
193 // DiskMountManager override. 193 // DiskMountManager override.
194 virtual void EnsureMountInfoRefreshed( 194 virtual void EnsureMountInfoRefreshed(
195 const EnsureMountInfoRefreshedCallback& callback) OVERRIDE { 195 const EnsureMountInfoRefreshedCallback& callback) override {
196 if (already_refreshed_) { 196 if (already_refreshed_) {
197 callback.Run(true); 197 callback.Run(true);
198 return; 198 return;
199 } 199 }
200 200
201 refresh_callbacks_.push_back(callback); 201 refresh_callbacks_.push_back(callback);
202 if (refresh_callbacks_.size() == 1) { 202 if (refresh_callbacks_.size() == 1) {
203 // If there's no in-flight refreshing task, start it. 203 // If there's no in-flight refreshing task, start it.
204 cros_disks_client_->EnumerateAutoMountableDevices( 204 cros_disks_client_->EnumerateAutoMountableDevices(
205 base::Bind(&DiskMountManagerImpl::RefreshAfterEnumerateDevices, 205 base::Bind(&DiskMountManagerImpl::RefreshAfterEnumerateDevices,
206 weak_ptr_factory_.GetWeakPtr()), 206 weak_ptr_factory_.GetWeakPtr()),
207 base::Bind(&DiskMountManagerImpl::RefreshCompleted, 207 base::Bind(&DiskMountManagerImpl::RefreshCompleted,
208 weak_ptr_factory_.GetWeakPtr(), false)); 208 weak_ptr_factory_.GetWeakPtr(), false));
209 } 209 }
210 } 210 }
211 211
212 // DiskMountManager override. 212 // DiskMountManager override.
213 virtual const DiskMap& disks() const OVERRIDE { return disks_; } 213 virtual const DiskMap& disks() const override { return disks_; }
214 214
215 // DiskMountManager override. 215 // DiskMountManager override.
216 virtual const Disk* FindDiskBySourcePath(const std::string& source_path) 216 virtual const Disk* FindDiskBySourcePath(const std::string& source_path)
217 const OVERRIDE { 217 const override {
218 DiskMap::const_iterator disk_it = disks_.find(source_path); 218 DiskMap::const_iterator disk_it = disks_.find(source_path);
219 return disk_it == disks_.end() ? NULL : disk_it->second; 219 return disk_it == disks_.end() ? NULL : disk_it->second;
220 } 220 }
221 221
222 // DiskMountManager override. 222 // DiskMountManager override.
223 virtual const MountPointMap& mount_points() const OVERRIDE { 223 virtual const MountPointMap& mount_points() const override {
224 return mount_points_; 224 return mount_points_;
225 } 225 }
226 226
227 // DiskMountManager override. 227 // DiskMountManager override.
228 virtual bool AddDiskForTest(Disk* disk) OVERRIDE { 228 virtual bool AddDiskForTest(Disk* disk) override {
229 if (disks_.find(disk->device_path()) != disks_.end()) { 229 if (disks_.find(disk->device_path()) != disks_.end()) {
230 LOG(ERROR) << "Attempt to add a duplicate disk"; 230 LOG(ERROR) << "Attempt to add a duplicate disk";
231 return false; 231 return false;
232 } 232 }
233 233
234 disks_.insert(std::make_pair(disk->device_path(), disk)); 234 disks_.insert(std::make_pair(disk->device_path(), disk));
235 return true; 235 return true;
236 } 236 }
237 237
238 // DiskMountManager override. 238 // DiskMountManager override.
239 // Corresponding disk should be added to the manager before this is called. 239 // Corresponding disk should be added to the manager before this is called.
240 virtual bool AddMountPointForTest( 240 virtual bool AddMountPointForTest(
241 const MountPointInfo& mount_point) OVERRIDE { 241 const MountPointInfo& mount_point) override {
242 if (mount_points_.find(mount_point.mount_path) != mount_points_.end()) { 242 if (mount_points_.find(mount_point.mount_path) != mount_points_.end()) {
243 LOG(ERROR) << "Attempt to add a duplicate mount point"; 243 LOG(ERROR) << "Attempt to add a duplicate mount point";
244 return false; 244 return false;
245 } 245 }
246 if (mount_point.mount_type == chromeos::MOUNT_TYPE_DEVICE && 246 if (mount_point.mount_type == chromeos::MOUNT_TYPE_DEVICE &&
247 disks_.find(mount_point.source_path) == disks_.end()) { 247 disks_.find(mount_point.source_path) == disks_.end()) {
248 LOG(ERROR) << "Device mount points must have a disk entry."; 248 LOG(ERROR) << "Device mount points must have a disk entry.";
249 return false; 249 return false;
250 } 250 }
251 251
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 VLOG(1) << "DiskMountManager Shutdown completed"; 751 VLOG(1) << "DiskMountManager Shutdown completed";
752 } 752 }
753 753
754 // static 754 // static
755 DiskMountManager* DiskMountManager::GetInstance() { 755 DiskMountManager* DiskMountManager::GetInstance() {
756 return g_disk_mount_manager; 756 return g_disk_mount_manager;
757 } 757 }
758 758
759 } // namespace disks 759 } // namespace disks
760 } // namespace chromeos 760 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/update_engine_client.cc ('k') | chromeos/ime/fake_ime_keyboard.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698