Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: webkit/browser/fileapi/file_observers.h

Issue 539143002: Migrate webkit/browser/ to storage/browser/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android build Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 WEBKIT_BROWSER_FILEAPI_FILE_OBSERVERS_H_ 5 #include "storage/browser/fileapi/file_observers.h"
6 #define WEBKIT_BROWSER_FILEAPI_FILE_OBSERVERS_H_
7
8 #include "base/basictypes.h"
9 #include "webkit/browser/storage_browser_export.h"
10
11 // TODO(kinuko): Split this file into per-observer multiple files.
12
13 namespace storage {
14
15 class FileSystemURL;
16
17 // An abstract interface to observe update operations.
18 //
19 // OnStartUpdate and OnEndUpdate are called once for each target url
20 // before and after following operations regardless of whether the operation
21 // is made recursively or not (i.e. StartUpdate() will be called only once
22 // for destination url regardless of whether it is recursive copy or not):
23 // CreateFile(), CreateDirectory(),
24 // Copy() (destination only),
25 // Move() (both for source and destination),
26 // Remove(), Write(), Truncate(), TouchFile()
27 //
28 // OnUpdate() is called each time the |url| is updated but works only for
29 // sandboxed files (where usage is tracked).
30 class STORAGE_EXPORT FileUpdateObserver {
31 public:
32 FileUpdateObserver() {}
33 virtual ~FileUpdateObserver() {}
34
35 virtual void OnStartUpdate(const FileSystemURL& url) = 0;
36 virtual void OnUpdate(const FileSystemURL& url, int64 delta) = 0;
37 virtual void OnEndUpdate(const FileSystemURL& url) = 0;
38
39 private:
40 DISALLOW_COPY_AND_ASSIGN(FileUpdateObserver);
41 };
42
43 // An abstract interface to observe file access.
44 // OnAccess is called whenever an operation reads file contents or metadata.
45 // (It is called only once per operation regardless of whether the operation
46 // is recursive or not)
47 class STORAGE_EXPORT FileAccessObserver {
48 public:
49 FileAccessObserver() {}
50 virtual ~FileAccessObserver() {}
51
52 virtual void OnAccess(const FileSystemURL& url) = 0;
53
54 private:
55 DISALLOW_COPY_AND_ASSIGN(FileAccessObserver);
56 };
57
58 // An abstract interface to observe file changes.
59 // Each method of this class is called once per file/directory is created,
60 // removed or modified. For recursive operations each method is called for
61 // each subdirectory/subfile. Currently ChangeObserver is only supported
62 // by the local sandbox file system.
63 class STORAGE_EXPORT FileChangeObserver {
64 public:
65 FileChangeObserver() {}
66 virtual ~FileChangeObserver() {}
67
68 virtual void OnCreateFile(const FileSystemURL& url) = 0;
69 virtual void OnCreateFileFrom(const FileSystemURL& url,
70 const FileSystemURL& src) = 0;
71 virtual void OnRemoveFile(const FileSystemURL& url) = 0;
72 virtual void OnModifyFile(const FileSystemURL& url) = 0;
73
74 virtual void OnCreateDirectory(const FileSystemURL& url) = 0;
75 virtual void OnRemoveDirectory(const FileSystemURL& url) = 0;
76
77 private:
78 DISALLOW_COPY_AND_ASSIGN(FileChangeObserver);
79 };
80
81 } // namespace storage
82
83 #endif // WEBKIT_BROWSER_FILEAPI_FILE_OBSERVERS_H_
OLDNEW
« no previous file with comments | « webkit/browser/fileapi/external_mount_points.cc ('k') | webkit/browser/fileapi/file_permission_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698