| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_GDATA_GDATA_CACHE_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ | 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 class SequencedTaskRunner; | 24 class SequencedTaskRunner; |
| 25 | 25 |
| 26 } // namespace base | 26 } // namespace base |
| 27 | 27 |
| 28 namespace gdata { | 28 namespace gdata { |
| 29 | 29 |
| 30 class GDataCacheEntry; | 30 class GDataCacheEntry; |
| 31 class GDataCacheMetadata; | 31 class GDataCacheMetadata; |
| 32 | 32 |
| 33 // Callback for SetMountedStateOnUIThread. | 33 // Callback for SetMountedStateOnUIThread and ClearAllOnUIThread. |
| 34 typedef base::Callback<void(GDataFileError error, | 34 typedef base::Callback<void(GDataFileError error, |
| 35 const FilePath& file_path)> SetMountedStateCallback; | 35 const FilePath& file_path)> |
| 36 ChangeCacheStateCallback; |
| 36 | 37 |
| 37 // Callback for completion of cache operation. | 38 // Callback for completion of cache operation. |
| 38 typedef base::Callback<void(GDataFileError error, | 39 typedef base::Callback<void(GDataFileError error, |
| 39 const std::string& resource_id, | 40 const std::string& resource_id, |
| 40 const std::string& md5)> CacheOperationCallback; | 41 const std::string& md5)> CacheOperationCallback; |
| 41 | 42 |
| 42 // Callback for GetFileFromCache. | 43 // Callback for GetFileFromCache. |
| 43 typedef base::Callback<void(GDataFileError error, | 44 typedef base::Callback<void(GDataFileError error, |
| 44 const std::string& resource_id, | 45 const std::string& resource_id, |
| 45 const std::string& md5, | 46 const std::string& md5, |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 | 223 |
| 223 // Modifies cache state, which involves the following: | 224 // Modifies cache state, which involves the following: |
| 224 // - moves |source_path| to |dest_path|, where | 225 // - moves |source_path| to |dest_path|, where |
| 225 // if we're mounting: |source_path| is the unmounted path and has .<md5> | 226 // if we're mounting: |source_path| is the unmounted path and has .<md5> |
| 226 // extension, and |dest_path| is the mounted path in persistent dir | 227 // extension, and |dest_path| is the mounted path in persistent dir |
| 227 // and has .<md5>.mounted extension; | 228 // and has .<md5>.mounted extension; |
| 228 // if we're unmounting: the opposite is true for the two paths, i.e. | 229 // if we're unmounting: the opposite is true for the two paths, i.e. |
| 229 // |dest_path| is the mounted path and |source_path| the unmounted path. | 230 // |dest_path| is the mounted path and |source_path| the unmounted path. |
| 230 void SetMountedStateOnUIThread(const FilePath& file_path, | 231 void SetMountedStateOnUIThread(const FilePath& file_path, |
| 231 bool to_mount, | 232 bool to_mount, |
| 232 const SetMountedStateCallback& callback); | 233 const ChangeCacheStateCallback& callback); |
| 233 | 234 |
| 234 // Modifies cache state, which involves the following: | 235 // Modifies cache state, which involves the following: |
| 235 // - moves |source_path| to |dest_path| in persistent dir, where | 236 // - moves |source_path| to |dest_path| in persistent dir, where |
| 236 // |source_path| has .<md5> extension and |dest_path| has .local extension | 237 // |source_path| has .<md5> extension and |dest_path| has .local extension |
| 237 // - if file is pinned, updates symlink in pinned dir to reference dirty file | 238 // - if file is pinned, updates symlink in pinned dir to reference dirty file |
| 238 void MarkDirtyOnUIThread(const std::string& resource_id, | 239 void MarkDirtyOnUIThread(const std::string& resource_id, |
| 239 const std::string& md5, | 240 const std::string& md5, |
| 240 const GetFileFromCacheCallback& callback); | 241 const GetFileFromCacheCallback& callback); |
| 241 | 242 |
| 242 // Modifies cache state, i.e. creates symlink in outgoing | 243 // Modifies cache state, i.e. creates symlink in outgoing |
| (...skipping 13 matching lines...) Expand all Loading... |
| 256 const std::string& md5, | 257 const std::string& md5, |
| 257 const CacheOperationCallback& callback); | 258 const CacheOperationCallback& callback); |
| 258 | 259 |
| 259 // Does the following: | 260 // Does the following: |
| 260 // - remove all delete stale cache versions corresponding to |resource_id| in | 261 // - remove all delete stale cache versions corresponding to |resource_id| in |
| 261 // persistent, tmp and pinned directories | 262 // persistent, tmp and pinned directories |
| 262 // - remove entry corresponding to |resource_id| from cache map. | 263 // - remove entry corresponding to |resource_id| from cache map. |
| 263 void RemoveOnUIThread(const std::string& resource_id, | 264 void RemoveOnUIThread(const std::string& resource_id, |
| 264 const CacheOperationCallback& callback); | 265 const CacheOperationCallback& callback); |
| 265 | 266 |
| 267 // Does the following: |
| 268 // - remove all the files in the cache directory. |
| 269 // - re-create the |metadata_| instance. |
| 270 void ClearAllOnUIThread(const ChangeCacheStateCallback& callback); |
| 271 |
| 266 // Utility method to call Initialize on UI thread. | 272 // Utility method to call Initialize on UI thread. |
| 267 void RequestInitializeOnUIThread(); | 273 void RequestInitializeOnUIThread(); |
| 268 | 274 |
| 269 // Force a rescan of cache files, for testing. | 275 // Force a rescan of cache files, for testing. |
| 270 void ForceRescanOnUIThreadForTesting(); | 276 void ForceRescanOnUIThreadForTesting(); |
| 271 | 277 |
| 272 // Gets the cache entry for file corresponding to |resource_id| and |md5| | 278 // Gets the cache entry for file corresponding to |resource_id| and |md5| |
| 273 // and returns true if entry exists in cache map. Otherwise, returns false. | 279 // and returns true if entry exists in cache map. Otherwise, returns false. |
| 274 // |md5| can be empty if only matching |resource_id| is desired, which may | 280 // |md5| can be empty if only matching |resource_id| is desired, which may |
| 275 // happen when looking for pinned entries where symlinks' filenames have no | 281 // happen when looking for pinned entries where symlinks' filenames have no |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 // Used to implement ClearDirtyOnUIThread. | 395 // Used to implement ClearDirtyOnUIThread. |
| 390 void ClearDirty(const std::string& resource_id, | 396 void ClearDirty(const std::string& resource_id, |
| 391 const std::string& md5, | 397 const std::string& md5, |
| 392 FileOperationType file_operation_type, | 398 FileOperationType file_operation_type, |
| 393 GDataFileError* error); | 399 GDataFileError* error); |
| 394 | 400 |
| 395 // Used to implement RemoveOnUIThread. | 401 // Used to implement RemoveOnUIThread. |
| 396 void Remove(const std::string& resource_id, | 402 void Remove(const std::string& resource_id, |
| 397 GDataFileError* error); | 403 GDataFileError* error); |
| 398 | 404 |
| 405 // Used to implement ClearAllUIThread. |
| 406 void ClearAll(GDataFileError* error); |
| 407 |
| 399 // Runs callback and notifies the observers when file is pinned. | 408 // Runs callback and notifies the observers when file is pinned. |
| 400 void OnPinned(GDataFileError* error, | 409 void OnPinned(GDataFileError* error, |
| 401 const std::string& resource_id, | 410 const std::string& resource_id, |
| 402 const std::string& md5, | 411 const std::string& md5, |
| 403 const CacheOperationCallback& callback); | 412 const CacheOperationCallback& callback); |
| 404 | 413 |
| 405 // Runs callback and notifies the observers when file is unpinned. | 414 // Runs callback and notifies the observers when file is unpinned. |
| 406 void OnUnpinned(GDataFileError* error, | 415 void OnUnpinned(GDataFileError* error, |
| 407 const std::string& resource_id, | 416 const std::string& resource_id, |
| 408 const std::string& md5, | 417 const std::string& md5, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 }; | 465 }; |
| 457 | 466 |
| 458 // Sets the free disk space getter for testing. | 467 // Sets the free disk space getter for testing. |
| 459 // The existing getter is deleted. | 468 // The existing getter is deleted. |
| 460 void SetFreeDiskSpaceGetterForTesting( | 469 void SetFreeDiskSpaceGetterForTesting( |
| 461 FreeDiskSpaceGetterInterface* getter); | 470 FreeDiskSpaceGetterInterface* getter); |
| 462 | 471 |
| 463 } // namespace gdata | 472 } // namespace gdata |
| 464 | 473 |
| 465 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ | 474 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ |
| OLD | NEW |