OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_RECURSIVE_OPERATION_DELEGATE_H_ | 5 #ifndef WEBKIT_BROWSER_FILEAPI_RECURSIVE_OPERATION_DELEGATE_H_ |
6 #define WEBKIT_BROWSER_FILEAPI_RECURSIVE_OPERATION_DELEGATE_H_ | 6 #define WEBKIT_BROWSER_FILEAPI_RECURSIVE_OPERATION_DELEGATE_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 #include <stack> | 9 #include <stack> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
14 #include "webkit/browser/fileapi/file_system_operation.h" | 14 #include "webkit/browser/fileapi/file_system_operation.h" |
15 #include "webkit/browser/fileapi/file_system_url.h" | 15 #include "webkit/browser/fileapi/file_system_url.h" |
16 | 16 |
17 namespace storage { | 17 namespace storage { |
18 | 18 |
19 class FileSystemContext; | 19 class FileSystemContext; |
20 class FileSystemOperationRunner; | 20 class FileSystemOperationRunner; |
21 | 21 |
22 // A base class for recursive operation delegates. | 22 // A base class for recursive operation delegates. |
23 // | 23 // |
24 // In short, each subclass should override ProcessFile and ProcessDirectory | 24 // In short, each subclass should override ProcessFile and ProcessDirectory |
25 // to process a directory or a file. To start the recursive operation it | 25 // to process a directory or a file. To start the recursive operation it |
26 // should also call StartRecursiveOperation. | 26 // should also call StartRecursiveOperation. |
27 class WEBKIT_STORAGE_BROWSER_EXPORT RecursiveOperationDelegate | 27 class STORAGE_EXPORT RecursiveOperationDelegate |
28 : public base::SupportsWeakPtr<RecursiveOperationDelegate> { | 28 : public base::SupportsWeakPtr<RecursiveOperationDelegate> { |
29 public: | 29 public: |
30 typedef FileSystemOperation::StatusCallback StatusCallback; | 30 typedef FileSystemOperation::StatusCallback StatusCallback; |
31 typedef FileSystemOperation::FileEntryList FileEntryList; | 31 typedef FileSystemOperation::FileEntryList FileEntryList; |
32 | 32 |
33 virtual ~RecursiveOperationDelegate(); | 33 virtual ~RecursiveOperationDelegate(); |
34 | 34 |
35 // This is called when the consumer of this instance starts a non-recursive | 35 // This is called when the consumer of this instance starts a non-recursive |
36 // operation. | 36 // operation. |
37 virtual void Run() = 0; | 37 virtual void Run() = 0; |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 std::queue<FileSystemURL> pending_files_; | 143 std::queue<FileSystemURL> pending_files_; |
144 int inflight_operations_; | 144 int inflight_operations_; |
145 bool canceled_; | 145 bool canceled_; |
146 | 146 |
147 DISALLOW_COPY_AND_ASSIGN(RecursiveOperationDelegate); | 147 DISALLOW_COPY_AND_ASSIGN(RecursiveOperationDelegate); |
148 }; | 148 }; |
149 | 149 |
150 } // namespace storage | 150 } // namespace storage |
151 | 151 |
152 #endif // WEBKIT_BROWSER_FILEAPI_RECURSIVE_OPERATION_DELEGATE_H_ | 152 #endif // WEBKIT_BROWSER_FILEAPI_RECURSIVE_OPERATION_DELEGATE_H_ |
OLD | NEW |