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

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

Issue 7826037: Adding support to retrieve remaining and total space on disk/file shelf. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 12f969b6401d5d05acecb51449d6f21bca5a18fb..3e99036141868df85ccabb2db066a59965f1f33a 100644
--- a/chrome/browser/chromeos/cros/mount_library.cc
+++ b/chrome/browser/chromeos/cros/mount_library.cc
@@ -126,6 +126,12 @@ class MountLibcrosProxyImpl : public MountLibcrosProxy {
GetDiskProperties(device_path, callback, object);
}
+ virtual void CallGetSizeStats(const char* mount_path,
+ GetSizeStatsCallback callback,
+ void* object) OVERRIDE {
+ GetMountPointSizeStats(mount_path, callback, object);
+ }
+
virtual MountEventConnection MonitorCrosDisks(MountEventMonitor monitor,
MountCompletedMonitor mount_completed_monitor,
void* object) OVERRIDE {
@@ -210,6 +216,19 @@ class MountLibraryImpl : public MountLibrary {
this);
}
+ virtual void GetSizeStats(const char* mount_path,
+ CallbackDelegate* callback_delegate) OVERRIDE {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ if (!CrosLibrary::Get()->EnsureLoaded()) {
+ GetSizeStatsCallback(callback_delegate, mount_path, 0, 0,
+ MOUNT_METHOD_ERROR_LOCAL, kLibraryNotLoaded);
+ return;
+ }
+
+ libcros_proxy_->CallGetSizeStats(mount_path, &GetSizeStatsCallback,
zel 2011/09/02 21:37:34 You might want to inline that routine here as well
tonibarzic 2011/09/02 21:59:01 It seemed like a good idea to keep system calls in
zel 2011/09/02 22:00:58 We should move such functionality here into mount_
+ callback_delegate);
+ }
+
virtual void FormatUnmountedDevice(const char* file_path) OVERRIDE {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
if (!CrosLibrary::Get()->EnsureLoaded()) {
@@ -373,6 +392,19 @@ class MountLibraryImpl : public MountLibrary {
self->OnUnmountPath(mount_path, error, error_message);
}
+ static void GetSizeStatsCallback(void* object,
+ const char* mount_path,
+ size_t total_size_kb,
+ size_t remaining_size_kb,
+ MountMethodErrorType error,
+ const char* error_message) {
+ DCHECK(object);
+ CallbackDelegate* callback = static_cast<CallbackDelegate*>(object);
+
+ callback->GetSizeStatsCallback(mount_path,
+ error == MOUNT_METHOD_ERROR_NONE, total_size_kb, remaining_size_kb);
+ }
+
// Callback for FormatRemovableDevice method.
static void FormatDeviceCallback(void* object,
const char* file_path,
@@ -803,6 +835,8 @@ class MountLibraryStubImpl : public MountLibrary {
virtual void MountPath(const char* source_path, MountType type,
const MountPathOptions& options) OVERRIDE {}
virtual void UnmountPath(const char* mount_path) OVERRIDE {}
+ virtual void GetSizeStats(const char* mount_path,
+ CallbackDelegate* callback_delegate) OVERRIDE {}
virtual void FormatUnmountedDevice(const char* device_path) OVERRIDE {}
virtual void FormatMountedDevice(const char* mount_path) OVERRIDE {}
virtual void UnmountDeviceRecursive(const char* device_path,

Powered by Google App Engine
This is Rietveld 408576698