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

Side by Side Diff: storage/browser/fileapi/copy_or_move_operation_delegate.h

Issue 1194783002: Add fileManagerPrivate.onCopyError event. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 6 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) 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 STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_ 5 #ifndef STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_
6 #define STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_ 6 #define STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <stack> 9 #include <stack>
10 10
(...skipping 18 matching lines...) Expand all
29 class CopyOrMoveFileValidator; 29 class CopyOrMoveFileValidator;
30 class FileStreamWriter; 30 class FileStreamWriter;
31 31
32 // A delegate class for recursive copy or move operations. 32 // A delegate class for recursive copy or move operations.
33 class CopyOrMoveOperationDelegate 33 class CopyOrMoveOperationDelegate
34 : public RecursiveOperationDelegate { 34 : public RecursiveOperationDelegate {
35 public: 35 public:
36 class CopyOrMoveImpl; 36 class CopyOrMoveImpl;
37 typedef FileSystemOperation::CopyProgressCallback CopyProgressCallback; 37 typedef FileSystemOperation::CopyProgressCallback CopyProgressCallback;
38 typedef FileSystemOperation::CopyOrMoveOption CopyOrMoveOption; 38 typedef FileSystemOperation::CopyOrMoveOption CopyOrMoveOption;
39 typedef FileSystemOperation::ErrorBehavior ErrorBehavior;
39 40
40 enum OperationType { 41 enum OperationType {
41 OPERATION_COPY, 42 OPERATION_COPY,
42 OPERATION_MOVE 43 OPERATION_MOVE
43 }; 44 };
44 45
45 // Helper to copy a file by reader and writer streams. 46 // Helper to copy a file by reader and writer streams.
46 // Export for testing. 47 // Export for testing.
47 class STORAGE_EXPORT StreamCopyHelper { 48 class STORAGE_EXPORT StreamCopyHelper {
48 public: 49 public:
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 scoped_refptr<net::IOBufferWithSize> io_buffer_; 85 scoped_refptr<net::IOBufferWithSize> io_buffer_;
85 int64 num_copied_bytes_; 86 int64 num_copied_bytes_;
86 int64 previous_flush_offset_; 87 int64 previous_flush_offset_;
87 base::Time last_progress_callback_invocation_time_; 88 base::Time last_progress_callback_invocation_time_;
88 base::TimeDelta min_progress_callback_invocation_span_; 89 base::TimeDelta min_progress_callback_invocation_span_;
89 bool cancel_requested_; 90 bool cancel_requested_;
90 base::WeakPtrFactory<StreamCopyHelper> weak_factory_; 91 base::WeakPtrFactory<StreamCopyHelper> weak_factory_;
91 DISALLOW_COPY_AND_ASSIGN(StreamCopyHelper); 92 DISALLOW_COPY_AND_ASSIGN(StreamCopyHelper);
92 }; 93 };
93 94
94 CopyOrMoveOperationDelegate( 95 CopyOrMoveOperationDelegate(FileSystemContext* file_system_context,
95 FileSystemContext* file_system_context, 96 const FileSystemURL& src_root,
96 const FileSystemURL& src_root, 97 const FileSystemURL& dest_root,
97 const FileSystemURL& dest_root, 98 OperationType operation_type,
98 OperationType operation_type, 99 CopyOrMoveOption option,
99 CopyOrMoveOption option, 100 const ErrorBehavior error_behavior,
tzik 2015/06/24 05:01:24 nit: we usually pass enums by value without const.
yawano 2015/06/24 06:02:22 Done.
100 const CopyProgressCallback& progress_callback, 101 const CopyProgressCallback& progress_callback,
101 const StatusCallback& callback); 102 const StatusCallback& callback);
102 ~CopyOrMoveOperationDelegate() override; 103 ~CopyOrMoveOperationDelegate() override;
103 104
104 // RecursiveOperationDelegate overrides: 105 // RecursiveOperationDelegate overrides:
105 void Run() override; 106 void Run() override;
106 void RunRecursively() override; 107 void RunRecursively() override;
107 void ProcessFile(const FileSystemURL& url, 108 void ProcessFile(const FileSystemURL& url,
108 const StatusCallback& callback) override; 109 const StatusCallback& callback) override;
109 void ProcessDirectory(const FileSystemURL& url, 110 void ProcessDirectory(const FileSystemURL& url,
110 const StatusCallback& callback) override; 111 const StatusCallback& callback) override;
111 void PostProcessDirectory(const FileSystemURL& url, 112 void PostProcessDirectory(const FileSystemURL& url,
(...skipping 29 matching lines...) Expand all
141 base::File::Error error); 142 base::File::Error error);
142 143
143 void OnCopyFileProgress(const FileSystemURL& src_url, int64 size); 144 void OnCopyFileProgress(const FileSystemURL& src_url, int64 size);
144 FileSystemURL CreateDestURL(const FileSystemURL& src_url) const; 145 FileSystemURL CreateDestURL(const FileSystemURL& src_url) const;
145 146
146 FileSystemURL src_root_; 147 FileSystemURL src_root_;
147 FileSystemURL dest_root_; 148 FileSystemURL dest_root_;
148 bool same_file_system_; 149 bool same_file_system_;
149 OperationType operation_type_; 150 OperationType operation_type_;
150 CopyOrMoveOption option_; 151 CopyOrMoveOption option_;
152 const ErrorBehavior error_behavior_;
151 CopyProgressCallback progress_callback_; 153 CopyProgressCallback progress_callback_;
152 StatusCallback callback_; 154 StatusCallback callback_;
153 155
154 std::set<CopyOrMoveImpl*> running_copy_set_; 156 std::set<CopyOrMoveImpl*> running_copy_set_;
155 base::WeakPtrFactory<CopyOrMoveOperationDelegate> weak_factory_; 157 base::WeakPtrFactory<CopyOrMoveOperationDelegate> weak_factory_;
156 158
157 DISALLOW_COPY_AND_ASSIGN(CopyOrMoveOperationDelegate); 159 DISALLOW_COPY_AND_ASSIGN(CopyOrMoveOperationDelegate);
158 }; 160 };
159 161
160 } // namespace storage 162 } // namespace storage
161 163
162 #endif // STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_ 164 #endif // STORAGE_BROWSER_FILEAPI_COPY_OR_MOVE_OPERATION_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698