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

Unified Diff: chrome/browser/chromeos/cros/mount_library.cc

Issue 7583041: Adding a format device button to UI. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Style fixes Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/cros/mount_library.cc
diff --git a/chrome/browser/chromeos/cros/mount_library.cc b/chrome/browser/chromeos/cros/mount_library.cc
index 6b32eb25060e1c883079b625aa8a5f93cecf57b1..ae0be2d31b1a9c4c09e50738a65feee6c5d17809 100644
--- a/chrome/browser/chromeos/cros/mount_library.cc
+++ b/chrome/browser/chromeos/cros/mount_library.cc
@@ -180,9 +180,8 @@ class MountLibraryImpl : public MountLibrary {
break;
}
}
-
if (!disk) {
- OnFormatDevice(disk->device_path().c_str(),
+ OnFormatDevice(mount_path,
false,
MOUNT_METHOD_ERROR_LOCAL,
"Device with this mount path not found.");
@@ -190,7 +189,7 @@ class MountLibraryImpl : public MountLibrary {
}
if (formatting_pending_.find(disk->device_path()) !=
formatting_pending_.end()) {
- OnFormatDevice(disk->device_path().c_str(),
+ OnFormatDevice(mount_path,
false,
MOUNT_METHOD_ERROR_LOCAL,
"Formatting is already pending.");
@@ -273,6 +272,15 @@ class MountLibraryImpl : public MountLibrary {
const MountPointMap& mount_points() const OVERRIDE { return mount_points_; }
private:
tbarzic 2011/08/12 19:31:13 add comment // static.
sidor.dev 2011/08/12 20:27:09 no.
+ virtual std::string FilePathToDevicePath(std::string file_path) OVERRIDE {
+ for (MountLibrary::DiskMap::iterator it = disks_.begin();
+ it != disks_.end(); ++it) {
+ if (it->second->file_path().compare(file_path) == 0)
+ return it->second->device_path();
+ }
+ return NULL;
+ }
+
// Callback for MountComplete signal and MountSourcePath method.
static void MountCompletedHandler(void* object,
MountError error_code,
@@ -297,12 +305,18 @@ class MountLibraryImpl : public MountLibrary {
// Callback for FormatRemovableDevice method.
static void FormatDeviceCallback(void* object,
- const char* device_path,
+ const char* file_path,
bool success,
MountMethodErrorType error,
const char* error_message) {
DCHECK(object);
MountLibraryImpl* self = static_cast<MountLibraryImpl*>(object);
+ const char* device_path = self->FilePathToDevicePath(file_path).c_str();
+ if (!device_path) {
+ LOG(ERROR) << "Error while handling disks metadata. Cannot find " <<
+ "device that is being formatted.";
+ return;
+ }
self->OnFormatDevice(device_path, success, error, error_message);
}
@@ -615,6 +629,14 @@ class MountLibraryImpl : public MountLibrary {
break;
}
case FORMATTING_FINISHED: {
+ // FORMATTING_FINISHED actually returns file path instead of device
+ // path.
+ device_path = FilePathToDevicePath(device_path).c_str();
+ if (!device_path) {
+ LOG(ERROR) << "Error while handling disks metadata. Cannot find " <<
+ "device that is being formatted.";
+ return;
+ }
type = MOUNT_FORMATTING_FINISHED;
break;
}
@@ -700,6 +722,9 @@ class MountLibraryStubImpl : public MountLibrary {
OVERRIDE {}
private:
+ virtual std::string FilePathToDevicePath(std::string file_path) OVERRIDE {
+ return "";
+ }
// The list of disks found.
DiskMap disks_;
MountPointMap mount_points_;

Powered by Google App Engine
This is Rietveld 408576698