Index: webkit/browser/fileapi/file_update_observer.h |
diff --git a/webkit/browser/fileapi/file_update_observer.h b/webkit/browser/fileapi/file_update_observer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ed99d3435e03512c43e56db5e9471273ca86bf40 |
--- /dev/null |
+++ b/webkit/browser/fileapi/file_update_observer.h |
@@ -0,0 +1,42 @@ |
+// Copyright 2013 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_BROWSER_FILEAPI_FILE_UPDATE_OBSERVER_H_ |
+#define WEBKIT_BROWSER_FILEAPI_FILE_UPDATE_OBSERVER_H_ |
+ |
+#include "base/basictypes.h" |
+ |
+namespace fileapi { |
+ |
+class FileSystemURL; |
+ |
+// An abstract interface to observe update operations. |
+// |
+// OnStartUpdate and OnEndUpdate are called once for each target url |
+// before and after following operations regardless of whether the operation |
+// is made recursively or not (i.e. StartUpdate() will be called only once |
+// for destination url regardless of whether it is recursive copy or not): |
+// CreateFile(), CreateDirectory(), |
+// Copy() (destination only), |
+// Move() (both for source and destination), |
+// Remove(), Write(), Truncate(), TouchFile() |
+// |
+// OnUpdate() is called each time the |url| is updated but works only for |
+// sandboxed files (where usage is tracked). |
+class FileUpdateObserver { |
+ public: |
+ FileUpdateObserver() {} |
+ virtual ~FileUpdateObserver() {} |
+ |
+ virtual void OnStartUpdate(const FileSystemURL& url) = 0; |
+ virtual void OnUpdate(const FileSystemURL& url, int64 delta) = 0; |
+ virtual void OnEndUpdate(const FileSystemURL& url) = 0; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(FileUpdateObserver); |
+}; |
+ |
+} // namespace fileapi |
+ |
+#endif // WEBKIT_BROWSER_FILEAPI_FILE_UPDATE_OBSERVER_H_ |