summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_usage_cache.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 20:36:25 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 20:36:25 +0000
commite1dd075eb55377ebe37f0a178681c8c1d421df52 (patch)
treee94ab48ce4d6faf5e34d1b9b76f9ea34ad88315f /webkit/fileapi/file_system_usage_cache.h
parent6917161dc18984bbadc969d60bb60be4105a6fca (diff)
downloadchromium_src-e1dd075eb55377ebe37f0a178681c8c1d421df52.zip
chromium_src-e1dd075eb55377ebe37f0a178681c8c1d421df52.tar.gz
chromium_src-e1dd075eb55377ebe37f0a178681c8c1d421df52.tar.bz2
Add a function for usage tracking.
BUG= TEST= Review URL: http://codereview.chromium.org/6453001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76797 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_usage_cache.h')
-rw-r--r--webkit/fileapi/file_system_usage_cache.h46
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_