| OLD | NEW |
| 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/dbus/cros_disks_client.h" | 5 #include "chromeos/dbus/cros_disks_client.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 // The CrosDisksClient implementation. | 95 // The CrosDisksClient implementation. |
| 96 class CrosDisksClientImpl : public CrosDisksClient { | 96 class CrosDisksClientImpl : public CrosDisksClient { |
| 97 public: | 97 public: |
| 98 CrosDisksClientImpl() : proxy_(NULL), weak_ptr_factory_(this) {} | 98 CrosDisksClientImpl() : proxy_(NULL), weak_ptr_factory_(this) {} |
| 99 | 99 |
| 100 // CrosDisksClient override. | 100 // CrosDisksClient override. |
| 101 virtual void Mount(const std::string& source_path, | 101 virtual void Mount(const std::string& source_path, |
| 102 const std::string& source_format, | 102 const std::string& source_format, |
| 103 const std::string& mount_label, | 103 const std::string& mount_label, |
| 104 const base::Closure& callback, | 104 const base::Closure& callback, |
| 105 const base::Closure& error_callback) OVERRIDE { | 105 const base::Closure& error_callback) override { |
| 106 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 106 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 107 cros_disks::kMount); | 107 cros_disks::kMount); |
| 108 dbus::MessageWriter writer(&method_call); | 108 dbus::MessageWriter writer(&method_call); |
| 109 writer.AppendString(source_path); | 109 writer.AppendString(source_path); |
| 110 writer.AppendString(source_format); | 110 writer.AppendString(source_format); |
| 111 std::vector<std::string> mount_options(kDefaultMountOptions, | 111 std::vector<std::string> mount_options(kDefaultMountOptions, |
| 112 kDefaultMountOptions + | 112 kDefaultMountOptions + |
| 113 arraysize(kDefaultMountOptions)); | 113 arraysize(kDefaultMountOptions)); |
| 114 if (!mount_label.empty()) { | 114 if (!mount_label.empty()) { |
| 115 std::string mount_label_option = base::StringPrintf("%s=%s", | 115 std::string mount_label_option = base::StringPrintf("%s=%s", |
| 116 kMountLabelOption, | 116 kMountLabelOption, |
| 117 mount_label.c_str()); | 117 mount_label.c_str()); |
| 118 mount_options.push_back(mount_label_option); | 118 mount_options.push_back(mount_label_option); |
| 119 } | 119 } |
| 120 writer.AppendArrayOfStrings(mount_options); | 120 writer.AppendArrayOfStrings(mount_options); |
| 121 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 121 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 122 base::Bind(&CrosDisksClientImpl::OnMount, | 122 base::Bind(&CrosDisksClientImpl::OnMount, |
| 123 weak_ptr_factory_.GetWeakPtr(), | 123 weak_ptr_factory_.GetWeakPtr(), |
| 124 callback, | 124 callback, |
| 125 error_callback)); | 125 error_callback)); |
| 126 } | 126 } |
| 127 | 127 |
| 128 // CrosDisksClient override. | 128 // CrosDisksClient override. |
| 129 virtual void Unmount(const std::string& device_path, | 129 virtual void Unmount(const std::string& device_path, |
| 130 UnmountOptions options, | 130 UnmountOptions options, |
| 131 const base::Closure& callback, | 131 const base::Closure& callback, |
| 132 const base::Closure& error_callback) OVERRIDE { | 132 const base::Closure& error_callback) override { |
| 133 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 133 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 134 cros_disks::kUnmount); | 134 cros_disks::kUnmount); |
| 135 dbus::MessageWriter writer(&method_call); | 135 dbus::MessageWriter writer(&method_call); |
| 136 writer.AppendString(device_path); | 136 writer.AppendString(device_path); |
| 137 | 137 |
| 138 std::vector<std::string> unmount_options( | 138 std::vector<std::string> unmount_options( |
| 139 kDefaultUnmountOptions, | 139 kDefaultUnmountOptions, |
| 140 kDefaultUnmountOptions + arraysize(kDefaultUnmountOptions)); | 140 kDefaultUnmountOptions + arraysize(kDefaultUnmountOptions)); |
| 141 if (options == UNMOUNT_OPTIONS_LAZY) | 141 if (options == UNMOUNT_OPTIONS_LAZY) |
| 142 unmount_options.push_back(kLazyUnmountOption); | 142 unmount_options.push_back(kLazyUnmountOption); |
| 143 | 143 |
| 144 writer.AppendArrayOfStrings(unmount_options); | 144 writer.AppendArrayOfStrings(unmount_options); |
| 145 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 145 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 146 base::Bind(&CrosDisksClientImpl::OnUnmount, | 146 base::Bind(&CrosDisksClientImpl::OnUnmount, |
| 147 weak_ptr_factory_.GetWeakPtr(), | 147 weak_ptr_factory_.GetWeakPtr(), |
| 148 callback, | 148 callback, |
| 149 error_callback)); | 149 error_callback)); |
| 150 } | 150 } |
| 151 | 151 |
| 152 // CrosDisksClient override. | 152 // CrosDisksClient override. |
| 153 virtual void EnumerateAutoMountableDevices( | 153 virtual void EnumerateAutoMountableDevices( |
| 154 const EnumerateAutoMountableDevicesCallback& callback, | 154 const EnumerateAutoMountableDevicesCallback& callback, |
| 155 const base::Closure& error_callback) OVERRIDE { | 155 const base::Closure& error_callback) override { |
| 156 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 156 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 157 cros_disks::kEnumerateAutoMountableDevices); | 157 cros_disks::kEnumerateAutoMountableDevices); |
| 158 proxy_->CallMethod( | 158 proxy_->CallMethod( |
| 159 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 159 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 160 base::Bind(&CrosDisksClientImpl::OnEnumerateAutoMountableDevices, | 160 base::Bind(&CrosDisksClientImpl::OnEnumerateAutoMountableDevices, |
| 161 weak_ptr_factory_.GetWeakPtr(), | 161 weak_ptr_factory_.GetWeakPtr(), |
| 162 callback, | 162 callback, |
| 163 error_callback)); | 163 error_callback)); |
| 164 } | 164 } |
| 165 | 165 |
| 166 // CrosDisksClient override. | 166 // CrosDisksClient override. |
| 167 virtual void EnumerateMountEntries( | 167 virtual void EnumerateMountEntries( |
| 168 const EnumerateMountEntriesCallback& callback, | 168 const EnumerateMountEntriesCallback& callback, |
| 169 const base::Closure& error_callback) OVERRIDE { | 169 const base::Closure& error_callback) override { |
| 170 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 170 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 171 cros_disks::kEnumerateMountEntries); | 171 cros_disks::kEnumerateMountEntries); |
| 172 proxy_->CallMethod( | 172 proxy_->CallMethod( |
| 173 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 173 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 174 base::Bind(&CrosDisksClientImpl::OnEnumerateMountEntries, | 174 base::Bind(&CrosDisksClientImpl::OnEnumerateMountEntries, |
| 175 weak_ptr_factory_.GetWeakPtr(), | 175 weak_ptr_factory_.GetWeakPtr(), |
| 176 callback, | 176 callback, |
| 177 error_callback)); | 177 error_callback)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 // CrosDisksClient override. | 180 // CrosDisksClient override. |
| 181 virtual void Format(const std::string& device_path, | 181 virtual void Format(const std::string& device_path, |
| 182 const std::string& filesystem, | 182 const std::string& filesystem, |
| 183 const base::Closure& callback, | 183 const base::Closure& callback, |
| 184 const base::Closure& error_callback) OVERRIDE { | 184 const base::Closure& error_callback) override { |
| 185 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 185 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 186 cros_disks::kFormat); | 186 cros_disks::kFormat); |
| 187 dbus::MessageWriter writer(&method_call); | 187 dbus::MessageWriter writer(&method_call); |
| 188 writer.AppendString(device_path); | 188 writer.AppendString(device_path); |
| 189 writer.AppendString(filesystem); | 189 writer.AppendString(filesystem); |
| 190 // No format option is currently specified, but we can later use this | 190 // No format option is currently specified, but we can later use this |
| 191 // argument to specify options for the format operation. | 191 // argument to specify options for the format operation. |
| 192 std::vector<std::string> format_options; | 192 std::vector<std::string> format_options; |
| 193 writer.AppendArrayOfStrings(format_options); | 193 writer.AppendArrayOfStrings(format_options); |
| 194 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 194 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 195 base::Bind(&CrosDisksClientImpl::OnFormat, | 195 base::Bind(&CrosDisksClientImpl::OnFormat, |
| 196 weak_ptr_factory_.GetWeakPtr(), | 196 weak_ptr_factory_.GetWeakPtr(), |
| 197 callback, | 197 callback, |
| 198 error_callback)); | 198 error_callback)); |
| 199 } | 199 } |
| 200 | 200 |
| 201 // CrosDisksClient override. | 201 // CrosDisksClient override. |
| 202 virtual void GetDeviceProperties( | 202 virtual void GetDeviceProperties( |
| 203 const std::string& device_path, | 203 const std::string& device_path, |
| 204 const GetDevicePropertiesCallback& callback, | 204 const GetDevicePropertiesCallback& callback, |
| 205 const base::Closure& error_callback) OVERRIDE { | 205 const base::Closure& error_callback) override { |
| 206 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 206 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
| 207 cros_disks::kGetDeviceProperties); | 207 cros_disks::kGetDeviceProperties); |
| 208 dbus::MessageWriter writer(&method_call); | 208 dbus::MessageWriter writer(&method_call); |
| 209 writer.AppendString(device_path); | 209 writer.AppendString(device_path); |
| 210 proxy_->CallMethod(&method_call, | 210 proxy_->CallMethod(&method_call, |
| 211 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 211 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 212 base::Bind(&CrosDisksClientImpl::OnGetDeviceProperties, | 212 base::Bind(&CrosDisksClientImpl::OnGetDeviceProperties, |
| 213 weak_ptr_factory_.GetWeakPtr(), | 213 weak_ptr_factory_.GetWeakPtr(), |
| 214 device_path, | 214 device_path, |
| 215 callback, | 215 callback, |
| 216 error_callback)); | 216 error_callback)); |
| 217 } | 217 } |
| 218 | 218 |
| 219 // CrosDisksClient override. | 219 // CrosDisksClient override. |
| 220 virtual void SetMountEventHandler( | 220 virtual void SetMountEventHandler( |
| 221 const MountEventHandler& mount_event_handler) OVERRIDE { | 221 const MountEventHandler& mount_event_handler) override { |
| 222 static const SignalEventTuple kSignalEventTuples[] = { | 222 static const SignalEventTuple kSignalEventTuples[] = { |
| 223 { cros_disks::kDeviceAdded, CROS_DISKS_DEVICE_ADDED }, | 223 { cros_disks::kDeviceAdded, CROS_DISKS_DEVICE_ADDED }, |
| 224 { cros_disks::kDeviceScanned, CROS_DISKS_DEVICE_SCANNED }, | 224 { cros_disks::kDeviceScanned, CROS_DISKS_DEVICE_SCANNED }, |
| 225 { cros_disks::kDeviceRemoved, CROS_DISKS_DEVICE_REMOVED }, | 225 { cros_disks::kDeviceRemoved, CROS_DISKS_DEVICE_REMOVED }, |
| 226 { cros_disks::kDiskAdded, CROS_DISKS_DISK_ADDED }, | 226 { cros_disks::kDiskAdded, CROS_DISKS_DISK_ADDED }, |
| 227 { cros_disks::kDiskChanged, CROS_DISKS_DISK_CHANGED }, | 227 { cros_disks::kDiskChanged, CROS_DISKS_DISK_CHANGED }, |
| 228 { cros_disks::kDiskRemoved, CROS_DISKS_DISK_REMOVED }, | 228 { cros_disks::kDiskRemoved, CROS_DISKS_DISK_REMOVED }, |
| 229 }; | 229 }; |
| 230 const size_t kNumSignalEventTuples = arraysize(kSignalEventTuples); | 230 const size_t kNumSignalEventTuples = arraysize(kSignalEventTuples); |
| 231 | 231 |
| 232 for (size_t i = 0; i < kNumSignalEventTuples; ++i) { | 232 for (size_t i = 0; i < kNumSignalEventTuples; ++i) { |
| 233 proxy_->ConnectToSignal( | 233 proxy_->ConnectToSignal( |
| 234 cros_disks::kCrosDisksInterface, | 234 cros_disks::kCrosDisksInterface, |
| 235 kSignalEventTuples[i].signal_name, | 235 kSignalEventTuples[i].signal_name, |
| 236 base::Bind(&CrosDisksClientImpl::OnMountEvent, | 236 base::Bind(&CrosDisksClientImpl::OnMountEvent, |
| 237 weak_ptr_factory_.GetWeakPtr(), | 237 weak_ptr_factory_.GetWeakPtr(), |
| 238 kSignalEventTuples[i].event_type, | 238 kSignalEventTuples[i].event_type, |
| 239 mount_event_handler), | 239 mount_event_handler), |
| 240 base::Bind(&CrosDisksClientImpl::OnSignalConnected, | 240 base::Bind(&CrosDisksClientImpl::OnSignalConnected, |
| 241 weak_ptr_factory_.GetWeakPtr())); | 241 weak_ptr_factory_.GetWeakPtr())); |
| 242 } | 242 } |
| 243 } | 243 } |
| 244 | 244 |
| 245 // CrosDisksClient override. | 245 // CrosDisksClient override. |
| 246 virtual void SetMountCompletedHandler( | 246 virtual void SetMountCompletedHandler( |
| 247 const MountCompletedHandler& mount_completed_handler) OVERRIDE { | 247 const MountCompletedHandler& mount_completed_handler) override { |
| 248 proxy_->ConnectToSignal( | 248 proxy_->ConnectToSignal( |
| 249 cros_disks::kCrosDisksInterface, | 249 cros_disks::kCrosDisksInterface, |
| 250 cros_disks::kMountCompleted, | 250 cros_disks::kMountCompleted, |
| 251 base::Bind(&CrosDisksClientImpl::OnMountCompleted, | 251 base::Bind(&CrosDisksClientImpl::OnMountCompleted, |
| 252 weak_ptr_factory_.GetWeakPtr(), | 252 weak_ptr_factory_.GetWeakPtr(), |
| 253 mount_completed_handler), | 253 mount_completed_handler), |
| 254 base::Bind(&CrosDisksClientImpl::OnSignalConnected, | 254 base::Bind(&CrosDisksClientImpl::OnSignalConnected, |
| 255 weak_ptr_factory_.GetWeakPtr())); | 255 weak_ptr_factory_.GetWeakPtr())); |
| 256 } | 256 } |
| 257 | 257 |
| 258 // CrosDisksClient override. | 258 // CrosDisksClient override. |
| 259 virtual void SetFormatCompletedHandler( | 259 virtual void SetFormatCompletedHandler( |
| 260 const FormatCompletedHandler& format_completed_handler) OVERRIDE { | 260 const FormatCompletedHandler& format_completed_handler) override { |
| 261 proxy_->ConnectToSignal( | 261 proxy_->ConnectToSignal( |
| 262 cros_disks::kCrosDisksInterface, | 262 cros_disks::kCrosDisksInterface, |
| 263 cros_disks::kFormatCompleted, | 263 cros_disks::kFormatCompleted, |
| 264 base::Bind(&CrosDisksClientImpl::OnFormatCompleted, | 264 base::Bind(&CrosDisksClientImpl::OnFormatCompleted, |
| 265 weak_ptr_factory_.GetWeakPtr(), | 265 weak_ptr_factory_.GetWeakPtr(), |
| 266 format_completed_handler), | 266 format_completed_handler), |
| 267 base::Bind(&CrosDisksClientImpl::OnSignalConnected, | 267 base::Bind(&CrosDisksClientImpl::OnSignalConnected, |
| 268 weak_ptr_factory_.GetWeakPtr())); | 268 weak_ptr_factory_.GetWeakPtr())); |
| 269 } | 269 } |
| 270 | 270 |
| 271 protected: | 271 protected: |
| 272 virtual void Init(dbus::Bus* bus) OVERRIDE { | 272 virtual void Init(dbus::Bus* bus) override { |
| 273 proxy_ = bus->GetObjectProxy( | 273 proxy_ = bus->GetObjectProxy( |
| 274 cros_disks::kCrosDisksServiceName, | 274 cros_disks::kCrosDisksServiceName, |
| 275 dbus::ObjectPath(cros_disks::kCrosDisksServicePath)); | 275 dbus::ObjectPath(cros_disks::kCrosDisksServicePath)); |
| 276 } | 276 } |
| 277 | 277 |
| 278 private: | 278 private: |
| 279 // A struct to contain a pair of signal name and mount event type. | 279 // A struct to contain a pair of signal name and mount event type. |
| 280 // Used by SetMountEventHandler. | 280 // Used by SetMountEventHandler. |
| 281 struct SignalEventTuple { | 281 struct SignalEventTuple { |
| 282 const char *signal_name; | 282 const char *signal_name; |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 | 456 |
| 457 // A stub implementaion of CrosDisksClient. | 457 // A stub implementaion of CrosDisksClient. |
| 458 class CrosDisksClientStubImpl : public CrosDisksClient { | 458 class CrosDisksClientStubImpl : public CrosDisksClient { |
| 459 public: | 459 public: |
| 460 CrosDisksClientStubImpl() | 460 CrosDisksClientStubImpl() |
| 461 : weak_ptr_factory_(this) {} | 461 : weak_ptr_factory_(this) {} |
| 462 | 462 |
| 463 virtual ~CrosDisksClientStubImpl() {} | 463 virtual ~CrosDisksClientStubImpl() {} |
| 464 | 464 |
| 465 // CrosDisksClient overrides: | 465 // CrosDisksClient overrides: |
| 466 virtual void Init(dbus::Bus* bus) OVERRIDE {} | 466 virtual void Init(dbus::Bus* bus) override {} |
| 467 virtual void Mount(const std::string& source_path, | 467 virtual void Mount(const std::string& source_path, |
| 468 const std::string& source_format, | 468 const std::string& source_format, |
| 469 const std::string& mount_label, | 469 const std::string& mount_label, |
| 470 const base::Closure& callback, | 470 const base::Closure& callback, |
| 471 const base::Closure& error_callback) OVERRIDE { | 471 const base::Closure& error_callback) override { |
| 472 // This stub implementation only accepts archive mount requests. | 472 // This stub implementation only accepts archive mount requests. |
| 473 const MountType type = MOUNT_TYPE_ARCHIVE; | 473 const MountType type = MOUNT_TYPE_ARCHIVE; |
| 474 | 474 |
| 475 const base::FilePath mounted_path = GetArchiveMountPoint().Append( | 475 const base::FilePath mounted_path = GetArchiveMountPoint().Append( |
| 476 base::FilePath::FromUTF8Unsafe(mount_label)); | 476 base::FilePath::FromUTF8Unsafe(mount_label)); |
| 477 | 477 |
| 478 // Already mounted path. | 478 // Already mounted path. |
| 479 if (mounted_to_source_path_map_.count(mounted_path.value()) != 0) { | 479 if (mounted_to_source_path_map_.count(mounted_path.value()) != 0) { |
| 480 FinishMount(MOUNT_ERROR_PATH_ALREADY_MOUNTED, source_path, type, | 480 FinishMount(MOUNT_ERROR_PATH_ALREADY_MOUNTED, source_path, type, |
| 481 std::string(), callback); | 481 std::string(), callback); |
| 482 return; | 482 return; |
| 483 } | 483 } |
| 484 | 484 |
| 485 // Perform fake mount. | 485 // Perform fake mount. |
| 486 base::PostTaskAndReplyWithResult( | 486 base::PostTaskAndReplyWithResult( |
| 487 base::WorkerPool::GetTaskRunner(true /* task_is_slow */).get(), | 487 base::WorkerPool::GetTaskRunner(true /* task_is_slow */).get(), |
| 488 FROM_HERE, | 488 FROM_HERE, |
| 489 base::Bind(&PerformFakeMount, source_path, mounted_path), | 489 base::Bind(&PerformFakeMount, source_path, mounted_path), |
| 490 base::Bind(&CrosDisksClientStubImpl::ContinueMount, | 490 base::Bind(&CrosDisksClientStubImpl::ContinueMount, |
| 491 weak_ptr_factory_.GetWeakPtr(), | 491 weak_ptr_factory_.GetWeakPtr(), |
| 492 source_path, | 492 source_path, |
| 493 type, | 493 type, |
| 494 callback, | 494 callback, |
| 495 mounted_path)); | 495 mounted_path)); |
| 496 } | 496 } |
| 497 | 497 |
| 498 virtual void Unmount(const std::string& device_path, | 498 virtual void Unmount(const std::string& device_path, |
| 499 UnmountOptions options, | 499 UnmountOptions options, |
| 500 const base::Closure& callback, | 500 const base::Closure& callback, |
| 501 const base::Closure& error_callback) OVERRIDE { | 501 const base::Closure& error_callback) override { |
| 502 // Not mounted. | 502 // Not mounted. |
| 503 if (mounted_to_source_path_map_.count(device_path) == 0) { | 503 if (mounted_to_source_path_map_.count(device_path) == 0) { |
| 504 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); | 504 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); |
| 505 return; | 505 return; |
| 506 } | 506 } |
| 507 | 507 |
| 508 mounted_to_source_path_map_.erase(device_path); | 508 mounted_to_source_path_map_.erase(device_path); |
| 509 | 509 |
| 510 // Remove the directory created in Mount(). | 510 // Remove the directory created in Mount(). |
| 511 base::WorkerPool::PostTaskAndReply( | 511 base::WorkerPool::PostTaskAndReply( |
| 512 FROM_HERE, | 512 FROM_HERE, |
| 513 base::Bind(base::IgnoreResult(&base::DeleteFile), | 513 base::Bind(base::IgnoreResult(&base::DeleteFile), |
| 514 base::FilePath::FromUTF8Unsafe(device_path), | 514 base::FilePath::FromUTF8Unsafe(device_path), |
| 515 true /* recursive */), | 515 true /* recursive */), |
| 516 callback, | 516 callback, |
| 517 true /* task_is_slow */); | 517 true /* task_is_slow */); |
| 518 } | 518 } |
| 519 | 519 |
| 520 virtual void EnumerateAutoMountableDevices( | 520 virtual void EnumerateAutoMountableDevices( |
| 521 const EnumerateAutoMountableDevicesCallback& callback, | 521 const EnumerateAutoMountableDevicesCallback& callback, |
| 522 const base::Closure& error_callback) OVERRIDE { | 522 const base::Closure& error_callback) override { |
| 523 std::vector<std::string> device_paths; | 523 std::vector<std::string> device_paths; |
| 524 base::MessageLoopProxy::current()->PostTask( | 524 base::MessageLoopProxy::current()->PostTask( |
| 525 FROM_HERE, base::Bind(callback, device_paths)); | 525 FROM_HERE, base::Bind(callback, device_paths)); |
| 526 } | 526 } |
| 527 | 527 |
| 528 virtual void EnumerateMountEntries( | 528 virtual void EnumerateMountEntries( |
| 529 const EnumerateMountEntriesCallback& callback, | 529 const EnumerateMountEntriesCallback& callback, |
| 530 const base::Closure& error_callback) OVERRIDE { | 530 const base::Closure& error_callback) override { |
| 531 std::vector<MountEntry> entries; | 531 std::vector<MountEntry> entries; |
| 532 base::MessageLoopProxy::current()->PostTask( | 532 base::MessageLoopProxy::current()->PostTask( |
| 533 FROM_HERE, base::Bind(callback, entries)); | 533 FROM_HERE, base::Bind(callback, entries)); |
| 534 } | 534 } |
| 535 | 535 |
| 536 virtual void Format(const std::string& device_path, | 536 virtual void Format(const std::string& device_path, |
| 537 const std::string& filesystem, | 537 const std::string& filesystem, |
| 538 const base::Closure& callback, | 538 const base::Closure& callback, |
| 539 const base::Closure& error_callback) OVERRIDE { | 539 const base::Closure& error_callback) override { |
| 540 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); | 540 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); |
| 541 } | 541 } |
| 542 | 542 |
| 543 virtual void GetDeviceProperties( | 543 virtual void GetDeviceProperties( |
| 544 const std::string& device_path, | 544 const std::string& device_path, |
| 545 const GetDevicePropertiesCallback& callback, | 545 const GetDevicePropertiesCallback& callback, |
| 546 const base::Closure& error_callback) OVERRIDE { | 546 const base::Closure& error_callback) override { |
| 547 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); | 547 base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); |
| 548 } | 548 } |
| 549 | 549 |
| 550 virtual void SetMountEventHandler( | 550 virtual void SetMountEventHandler( |
| 551 const MountEventHandler& mount_event_handler) OVERRIDE { | 551 const MountEventHandler& mount_event_handler) override { |
| 552 mount_event_handler_ = mount_event_handler; | 552 mount_event_handler_ = mount_event_handler; |
| 553 } | 553 } |
| 554 | 554 |
| 555 virtual void SetMountCompletedHandler( | 555 virtual void SetMountCompletedHandler( |
| 556 const MountCompletedHandler& mount_completed_handler) OVERRIDE { | 556 const MountCompletedHandler& mount_completed_handler) override { |
| 557 mount_completed_handler_ = mount_completed_handler; | 557 mount_completed_handler_ = mount_completed_handler; |
| 558 } | 558 } |
| 559 | 559 |
| 560 virtual void SetFormatCompletedHandler( | 560 virtual void SetFormatCompletedHandler( |
| 561 const FormatCompletedHandler& format_completed_handler) OVERRIDE { | 561 const FormatCompletedHandler& format_completed_handler) override { |
| 562 format_completed_handler_ = format_completed_handler; | 562 format_completed_handler_ = format_completed_handler; |
| 563 } | 563 } |
| 564 | 564 |
| 565 private: | 565 private: |
| 566 // Performs file actions for Mount(). | 566 // Performs file actions for Mount(). |
| 567 static MountError PerformFakeMount(const std::string& source_path, | 567 static MountError PerformFakeMount(const std::string& source_path, |
| 568 const base::FilePath& mounted_path) { | 568 const base::FilePath& mounted_path) { |
| 569 // Check the source path exists. | 569 // Check the source path exists. |
| 570 if (!base::PathExists(base::FilePath::FromUTF8Unsafe(source_path))) { | 570 if (!base::PathExists(base::FilePath::FromUTF8Unsafe(source_path))) { |
| 571 DLOG(ERROR) << "Source does not exist at " << source_path; | 571 DLOG(ERROR) << "Source does not exist at " << source_path; |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 833 } | 833 } |
| 834 | 834 |
| 835 // static | 835 // static |
| 836 base::FilePath CrosDisksClient::GetRemovableDiskMountPoint() { | 836 base::FilePath CrosDisksClient::GetRemovableDiskMountPoint() { |
| 837 return base::FilePath(base::SysInfo::IsRunningOnChromeOS() ? | 837 return base::FilePath(base::SysInfo::IsRunningOnChromeOS() ? |
| 838 FILE_PATH_LITERAL("/media/removable") : | 838 FILE_PATH_LITERAL("/media/removable") : |
| 839 FILE_PATH_LITERAL("/tmp/chromeos/media/removable")); | 839 FILE_PATH_LITERAL("/tmp/chromeos/media/removable")); |
| 840 } | 840 } |
| 841 | 841 |
| 842 } // namespace chromeos | 842 } // namespace chromeos |
| OLD | NEW |