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 3 // found in the LICENSE file. 4 5 #ifndef NET_DISK_CACHE_CACHE_UTIL_H_ 6 #define NET_DISK_CACHE_CACHE_UTIL_H_ 7 8 #include "base/basictypes.h" 9 #include "net/base/net_export.h" 10 #include "net/disk_cache/disk_cache.h" 11 12 namespace base { 13 class FilePath; 14 } 15 16 namespace disk_cache { 17 18 // Moves the cache files from the given path to another location. 19 // Fails if the destination exists already, or if it doesn't have 20 // permission for the operation. This is basically a rename operation 21 // for the cache directory. Returns true if successful. On ChromeOS, 22 // this moves the cache contents, and leaves the empty cache 23 // directory. 24 NET_EXPORT_PRIVATE bool MoveCache(const base::FilePath& from_path, 25 const base::FilePath& to_path); 26 27 // Deletes the cache files stored on |path|, and optionally also attempts to 28 // delete the folder itself. 29 NET_EXPORT_PRIVATE void DeleteCache(const base::FilePath& path, 30 bool remove_folder); 31 32 // Deletes a cache file. 33 NET_EXPORT_PRIVATE bool DeleteCacheFile(const base::FilePath& name); 34 35 // Renames cache directory synchronously and fires off a background cleanup 36 // task. Used by cache creator itself or by backends for self-restart on error. 37 bool DelayedCacheCleanup(const base::FilePath& full_path); 38 39 // Returns the preferred max cache size given the available disk space. 40 NET_EXPORT_PRIVATE int PreferredCacheSize(int64 available); 41 42 // The default cache size should not ideally be exposed, but the blockfile 43 // backend uses it for reasons that include testing. 44 NET_EXPORT_PRIVATE extern const int kDefaultCacheSize; 45 46 } // namespace disk_cache 47 48 #endif // NET_DISK_CACHE_CACHE_UTIL_H_ 49