diff options
author | dmikurube@google.com <dmikurube@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 19:13:53 +0000 |
---|---|---|
committer | dmikurube@google.com <dmikurube@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 19:13:53 +0000 |
commit | d1ca70cfc72762d6ff489f2558e6eb1333cbabf2 (patch) | |
tree | 667d1630cd6d51842b83da12b6de2e39a752882d /webkit/fileapi/file_system_usage_cache.h | |
parent | b05168f7a95d5a2841297e5947eccf5edcea804a (diff) | |
download | chromium_src-d1ca70cfc72762d6ff489f2558e6eb1333cbabf2.zip chromium_src-d1ca70cfc72762d6ff489f2558e6eb1333cbabf2.tar.gz chromium_src-d1ca70cfc72762d6ff489f2558e6eb1333cbabf2.tar.bz2 |
Add a function for usage tracking. It's based on the bug 6426001.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6453001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_usage_cache.h')
-rw-r--r-- | webkit/fileapi/file_system_usage_cache.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/webkit/fileapi/file_system_usage_cache.h b/webkit/fileapi/file_system_usage_cache.h new file mode 100644 index 0000000..32fc9b8 --- /dev/null +++ b/webkit/fileapi/file_system_usage_cache.h @@ -0,0 +1,46 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef WEBKIT_FILEAPI_FILE_SYSTEM_USAGE_CACHE_H_ +#define WEBKIT_FILEAPI_FILE_SYSTEM_USAGE_CACHE_H_ + +#include "base/basictypes.h" +#include "base/file_path.h" + +namespace fileapi { + +class FileSystemUsageCache { + public: + // Gets the size described in the .usage file. + // Returns less than zero if the size is not availble. + static int64 GetUsage(const FilePath& usage_file_path); + + // Increments or decrements the "dirty" entry in the .usage file. + // Returns false if no .usage is available. + static bool IncrementDirty(const FilePath& usage_file_path); + static bool DecrementDirty(const FilePath& usage_file_path); + + // Updates the size described in the .usage file. + static int UpdateUsage(const FilePath& usage_file_path, int64 fs_usage); + + static bool Exists(const FilePath& usage_file_path); + static bool Delete(const FilePath& usage_file_path); + + static const char kUsageFileName[]; + static const char kUsageFileHeader[]; + static const int kUsageFileSize; + static const int kUsageFileHeaderSize; + + private: + // Read the size and the "dirty" entry described in the .usage file. + // Returns less than zero if no .usage file is available. + static int64 Read(const FilePath& usage_file_path, uint32* dirty); + + static int Write(const FilePath& usage_file_path, + uint32 dirty, int64 fs_usage); +}; + +} // namespace fileapi + +#endif // WEBKIT_FILEAPI_FILE_SYSTEM_USAGE_CACHE_H_ |