Chromium Code Reviews| 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, |