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, |