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

Side by Side Diff: chrome/browser/chromeos/cros/mount_library.h

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, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_
6 #define CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_ 6 #define CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 void* object) = 0; 48 void* object) = 0;
49 virtual void CallRequestMountInfo(RequestMountInfoCallback callback, 49 virtual void CallRequestMountInfo(RequestMountInfoCallback callback,
50 void* object) = 0; 50 void* object) = 0;
51 virtual void CallFormatDevice(const char* device_path, 51 virtual void CallFormatDevice(const char* device_path,
52 const char* filesystem, 52 const char* filesystem,
53 FormatRequestCallback callback, 53 FormatRequestCallback callback,
54 void* object) = 0; 54 void* object) = 0;
55 virtual void CallGetDiskProperties(const char* device_path, 55 virtual void CallGetDiskProperties(const char* device_path,
56 GetDiskPropertiesCallback callback, 56 GetDiskPropertiesCallback callback,
57 void* object) = 0; 57 void* object) = 0;
58 virtual void CallGetSizeStats(const char* mount_path,
59 GetSizeStatsCallback callback,
60 void* object) = 0;
58 virtual MountEventConnection MonitorCrosDisks(MountEventMonitor monitor, 61 virtual MountEventConnection MonitorCrosDisks(MountEventMonitor monitor,
59 MountCompletedMonitor mount_complete_monitor, 62 MountCompletedMonitor mount_complete_monitor,
60 void* object) = 0; 63 void* object) = 0;
61 virtual void DisconnectCrosDisksMonitorIfSet(MountEventConnection connection) 64 virtual void DisconnectCrosDisksMonitorIfSet(MountEventConnection connection)
62 = 0; 65 = 0;
63 }; 66 };
64 67
65 // This class handles the interaction with the ChromeOS mount library APIs. 68 // This class handles the interaction with the ChromeOS mount library APIs.
66 // Classes can add themselves as observers. Users can get an instance of this 69 // Classes can add themselves as observers. Users can get an instance of this
67 // library class like this: chromeos::CrosLibrary::Get()->GetMountLibrary() 70 // library class like this: chromeos::CrosLibrary::Get()->GetMountLibrary()
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 // Async API events. 166 // Async API events.
164 virtual void DiskChanged(MountLibraryEventType event, 167 virtual void DiskChanged(MountLibraryEventType event,
165 const Disk* disk) = 0; 168 const Disk* disk) = 0;
166 virtual void DeviceChanged(MountLibraryEventType event, 169 virtual void DeviceChanged(MountLibraryEventType event,
167 const std::string& device_path) = 0; 170 const std::string& device_path) = 0;
168 virtual void MountCompleted(MountEvent event_type, 171 virtual void MountCompleted(MountEvent event_type,
169 MountError error_code, 172 MountError error_code,
170 const MountPointInfo& mount_info) = 0; 173 const MountPointInfo& mount_info) = 0;
171 }; 174 };
172 175
176 class CallbackDelegate {
177 public:
178 virtual ~CallbackDelegate() {}
179 virtual void GetSizeStatsCallback(const char* mount_path,
180 bool success,
181 size_t total_size_kb,
182 size_t remaining_size_kb) = 0;
183 };
184
173 virtual ~MountLibrary() {} 185 virtual ~MountLibrary() {}
174 virtual void AddObserver(Observer* observer) = 0; 186 virtual void AddObserver(Observer* observer) = 0;
175 virtual void RemoveObserver(Observer* observer) = 0; 187 virtual void RemoveObserver(Observer* observer) = 0;
176 virtual const DiskMap& disks() const = 0; 188 virtual const DiskMap& disks() const = 0;
177 virtual const MountPointMap& mount_points() const = 0; 189 virtual const MountPointMap& mount_points() const = 0;
178 190
179 virtual void RequestMountInfoRefresh() = 0; 191 virtual void RequestMountInfoRefresh() = 0;
180 virtual void MountPath(const char* source_path, 192 virtual void MountPath(const char* source_path,
181 MountType type, 193 MountType type,
182 const MountPathOptions& options) = 0; 194 const MountPathOptions& options) = 0;
183 // |path| is device's mount path. 195 // |path| is device's mount path.
184 virtual void UnmountPath(const char* path) = 0; 196 virtual void UnmountPath(const char* path) = 0;
185 197
198 // Retrieves total and remaining available size on |mount_path|.
199 virtual void GetSizeStats(const char* mount_path,
200 CallbackDelegate* callback_delegate) = 0;
201
186 // Formats device given its file path. 202 // Formats device given its file path.
187 // Example: file_path: /dev/sdb1 203 // Example: file_path: /dev/sdb1
188 virtual void FormatUnmountedDevice(const char* file_path) = 0; 204 virtual void FormatUnmountedDevice(const char* file_path) = 0;
189 205
190 // Formats Device given its mount path. Unmount's the device 206 // Formats Device given its mount path. Unmount's the device
191 // Example: mount_path: /media/VOLUME_LABEL 207 // Example: mount_path: /media/VOLUME_LABEL
192 virtual void FormatMountedDevice(const char* mount_path) = 0; 208 virtual void FormatMountedDevice(const char* mount_path) = 0;
193 209
194 // Unmounts device_poath and all of its known children. 210 // Unmounts device_poath and all of its known children.
195 virtual void UnmountDeviceRecursive(const char* device_path, 211 virtual void UnmountDeviceRecursive(const char* device_path,
196 UnmountDeviceRecursiveCallbackType callback, void* user_data) = 0; 212 UnmountDeviceRecursiveCallbackType callback, void* user_data) = 0;
197 213
198 // Helper functions for parameter conversions. 214 // Helper functions for parameter conversions.
199 static std::string MountTypeToString(MountType type); 215 static std::string MountTypeToString(MountType type);
200 static MountType MountTypeFromString(const std::string& type_str); 216 static MountType MountTypeFromString(const std::string& type_str);
201 static std::string MountConditionToString(MountCondition type); 217 static std::string MountConditionToString(MountCondition type);
202 218
203 // Used in testing. Enables mocking libcros. 219 // Used in testing. Enables mocking libcros.
204 virtual void SetLibcrosProxy(MountLibcrosProxy* proxy) {} 220 virtual void SetLibcrosProxy(MountLibcrosProxy* proxy) {}
205 221
206 // Factory function, creates a new instance and returns ownership. 222 // Factory function, creates a new instance and returns ownership.
207 // For normal usage, access the singleton via CrosLibrary::Get(). 223 // For normal usage, access the singleton via CrosLibrary::Get().
208 static MountLibrary* GetImpl(bool stub); 224 static MountLibrary* GetImpl(bool stub);
209 }; 225 };
210 226
211 } // namespace chromeos 227 } // namespace chromeos
212 228
213 #endif // CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_ 229 #endif // CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698