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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/copy_operation.h

Issue 12163003: Add FilePath to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_ 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "chrome/browser/chromeos/drive/drive_resource_metadata.h" 11 #include "chrome/browser/chromeos/drive/drive_resource_metadata.h"
12 #include "chrome/browser/google_apis/gdata_errorcode.h" 12 #include "chrome/browser/google_apis/gdata_errorcode.h"
13 13
14 class FilePath;
15 class GURL; 14 class GURL;
16 15
17 namespace base { 16 namespace base {
17 class FilePath;
18 class Value; 18 class Value;
19 } 19 }
20 20
21 namespace google_apis { 21 namespace google_apis {
22 class DriveUploaderInterface; 22 class DriveUploaderInterface;
23 } 23 }
24 24
25 namespace drive { 25 namespace drive {
26 26
27 class DriveEntryProto; 27 class DriveEntryProto;
(...skipping 14 matching lines...) Expand all
42 DriveFileSystemInterface* drive_file_system, 42 DriveFileSystemInterface* drive_file_system,
43 DriveResourceMetadata* metadata, 43 DriveResourceMetadata* metadata,
44 google_apis::DriveUploaderInterface* uploader, 44 google_apis::DriveUploaderInterface* uploader,
45 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, 45 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
46 OperationObserver* observer); 46 OperationObserver* observer);
47 virtual ~CopyOperation(); 47 virtual ~CopyOperation();
48 48
49 // Performs the copy operation on the file at drive path |src_file_path| 49 // Performs the copy operation on the file at drive path |src_file_path|
50 // with a target of |dest_file_path|. Invokes |callback| when finished with 50 // with a target of |dest_file_path|. Invokes |callback| when finished with
51 // the result of the operation. |callback| must not be null. 51 // the result of the operation. |callback| must not be null.
52 virtual void Copy(const FilePath& src_file_path, 52 virtual void Copy(const base::FilePath& src_file_path,
53 const FilePath& dest_file_path, 53 const base::FilePath& dest_file_path,
54 const FileOperationCallback& callback); 54 const FileOperationCallback& callback);
55 55
56 // Initiates transfer of |remote_src_file_path| to |local_dest_file_path|. 56 // Initiates transfer of |remote_src_file_path| to |local_dest_file_path|.
57 // |remote_src_file_path| is the virtual source path on the Drive file system. 57 // |remote_src_file_path| is the virtual source path on the Drive file system.
58 // |local_dest_file_path| is the destination path on the local file system. 58 // |local_dest_file_path| is the destination path on the local file system.
59 // 59 //
60 // Must be called from *UI* thread. |callback| is run on the calling thread. 60 // Must be called from *UI* thread. |callback| is run on the calling thread.
61 // |callback| must not be null. 61 // |callback| must not be null.
62 virtual void TransferFileFromRemoteToLocal( 62 virtual void TransferFileFromRemoteToLocal(
63 const FilePath& remote_src_file_path, 63 const base::FilePath& remote_src_file_path,
64 const FilePath& local_dest_file_path, 64 const base::FilePath& local_dest_file_path,
65 const FileOperationCallback& callback); 65 const FileOperationCallback& callback);
66 66
67 // Initiates transfer of |local_src_file_path| to |remote_dest_file_path|. 67 // Initiates transfer of |local_src_file_path| to |remote_dest_file_path|.
68 // |local_src_file_path| must be a file from the local file system. 68 // |local_src_file_path| must be a file from the local file system.
69 // |remote_dest_file_path| is the virtual destination path within Drive file 69 // |remote_dest_file_path| is the virtual destination path within Drive file
70 // system. 70 // system.
71 // 71 //
72 // Must be called from *UI* thread. |callback| is run on the calling thread. 72 // Must be called from *UI* thread. |callback| is run on the calling thread.
73 // |callback| must not be null. 73 // |callback| must not be null.
74 virtual void TransferFileFromLocalToRemote( 74 virtual void TransferFileFromLocalToRemote(
75 const FilePath& local_src_file_path, 75 const base::FilePath& local_src_file_path,
76 const FilePath& remote_dest_file_path, 76 const base::FilePath& remote_dest_file_path,
77 const FileOperationCallback& callback); 77 const FileOperationCallback& callback);
78 78
79 // Initiates transfer of |local_file_path| to |remote_dest_file_path|. 79 // Initiates transfer of |local_file_path| to |remote_dest_file_path|.
80 // |local_file_path| must be a regular file (i.e. not a hosted document) from 80 // |local_file_path| must be a regular file (i.e. not a hosted document) from
81 // the local file system, |remote_dest_file_path| is the virtual destination 81 // the local file system, |remote_dest_file_path| is the virtual destination
82 // path within Drive file system. 82 // path within Drive file system.
83 // 83 //
84 // Must be called from *UI* thread. |callback| is run on the calling thread. 84 // Must be called from *UI* thread. |callback| is run on the calling thread.
85 // |callback| must not be null. 85 // |callback| must not be null.
86 virtual void TransferRegularFile(const FilePath& local_file_path, 86 virtual void TransferRegularFile(const base::FilePath& local_file_path,
87 const FilePath& remote_dest_file_path, 87 const base::FilePath& remote_dest_file_path,
88 const FileOperationCallback& callback); 88 const FileOperationCallback& callback);
89 89
90 private: 90 private:
91 // Struct used for StartFileUpload(). 91 // Struct used for StartFileUpload().
92 struct StartFileUploadParams; 92 struct StartFileUploadParams;
93 93
94 // Invoked upon completion of GetFileByPath initiated by 94 // Invoked upon completion of GetFileByPath initiated by
95 // TransferFileFromRemoteToLocal. If GetFileByPath reports no error, calls 95 // TransferFileFromRemoteToLocal. If GetFileByPath reports no error, calls
96 // CopyLocalFileOnBlockingPool to copy |local_file_path| to 96 // CopyLocalFileOnBlockingPool to copy |local_file_path| to
97 // |local_dest_file_path|. 97 // |local_dest_file_path|.
98 // 98 //
99 // Can be called from UI thread. |callback| is run on the calling thread. 99 // Can be called from UI thread. |callback| is run on the calling thread.
100 // |callback| must not be null. 100 // |callback| must not be null.
101 void OnGetFileCompleteForTransferFile(const FilePath& local_dest_file_path, 101 void OnGetFileCompleteForTransferFile(
102 const FileOperationCallback& callback, 102 const base::FilePath& local_dest_file_path,
103 DriveFileError error, 103 const FileOperationCallback& callback,
104 const FilePath& local_file_path, 104 DriveFileError error,
105 const std::string& unused_mime_type, 105 const base::FilePath& local_file_path,
106 DriveFileType file_type); 106 const std::string& unused_mime_type,
107 DriveFileType file_type);
107 108
108 // Copies a hosted document with |resource_id| to the directory at |dir_path| 109 // Copies a hosted document with |resource_id| to the directory at |dir_path|
109 // and names the copied document as |new_name|. 110 // and names the copied document as |new_name|.
110 // 111 //
111 // Can be called from UI thread. |callback| is run on the calling thread. 112 // Can be called from UI thread. |callback| is run on the calling thread.
112 // |callback| must not be null. 113 // |callback| must not be null.
113 void CopyHostedDocumentToDirectory(const FilePath& dir_path, 114 void CopyHostedDocumentToDirectory(const base::FilePath& dir_path,
114 const std::string& resource_id, 115 const std::string& resource_id,
115 const FilePath::StringType& new_name, 116 const base::FilePath::StringType& new_name,
116 const FileOperationCallback& callback); 117 const FileOperationCallback& callback);
117 118
118 // Callback for handling document copy attempt. 119 // Callback for handling document copy attempt.
119 // |callback| must not be null. 120 // |callback| must not be null.
120 void OnCopyHostedDocumentCompleted( 121 void OnCopyHostedDocumentCompleted(
121 const FilePath& dir_path, 122 const base::FilePath& dir_path,
122 const FileOperationCallback& callback, 123 const FileOperationCallback& callback,
123 google_apis::GDataErrorCode status, 124 google_apis::GDataErrorCode status,
124 scoped_ptr<google_apis::ResourceEntry> resource_entry); 125 scoped_ptr<google_apis::ResourceEntry> resource_entry);
125 126
126 // Moves a file or directory at |file_path| in the root directory to 127 // Moves a file or directory at |file_path| in the root directory to
127 // another directory at |dir_path|. This function does nothing if 128 // another directory at |dir_path|. This function does nothing if
128 // |dir_path| points to the root directory. 129 // |dir_path| points to the root directory.
129 // 130 //
130 // Can be called from UI thread. |callback| is run on the calling thread. 131 // Can be called from UI thread. |callback| is run on the calling thread.
131 // |callback| must not be null. 132 // |callback| must not be null.
132 void MoveEntryFromRootDirectory(const FilePath& directory_path, 133 void MoveEntryFromRootDirectory(const base::FilePath& directory_path,
133 const FileOperationCallback& callback, 134 const FileOperationCallback& callback,
134 DriveFileError error, 135 DriveFileError error,
135 const FilePath& file_path); 136 const base::FilePath& file_path);
136 137
137 // Part of Copy(). Called after GetEntryInfoPairByPaths() is 138 // Part of Copy(). Called after GetEntryInfoPairByPaths() is
138 // complete. |callback| must not be null. 139 // complete. |callback| must not be null.
139 void CopyAfterGetEntryInfoPair(const FilePath& dest_file_path, 140 void CopyAfterGetEntryInfoPair(const base::FilePath& dest_file_path,
140 const FileOperationCallback& callback, 141 const FileOperationCallback& callback,
141 scoped_ptr<EntryInfoPairResult> result); 142 scoped_ptr<EntryInfoPairResult> result);
142 143
143 // Invoked upon completion of GetFileByPath initiated by Copy. If 144 // Invoked upon completion of GetFileByPath initiated by Copy. If
144 // GetFileByPath reports no error, calls TransferRegularFile to transfer 145 // GetFileByPath reports no error, calls TransferRegularFile to transfer
145 // |local_file_path| to |remote_dest_file_path|. 146 // |local_file_path| to |remote_dest_file_path|.
146 // 147 //
147 // Can be called from UI thread. |callback| is run on the calling thread. 148 // Can be called from UI thread. |callback| is run on the calling thread.
148 void OnGetFileCompleteForCopy(const FilePath& remote_dest_file_path, 149 void OnGetFileCompleteForCopy(const base::FilePath& remote_dest_file_path,
149 const FileOperationCallback& callback, 150 const FileOperationCallback& callback,
150 DriveFileError error, 151 DriveFileError error,
151 const FilePath& local_file_path, 152 const base::FilePath& local_file_path,
152 const std::string& unused_mime_type, 153 const std::string& unused_mime_type,
153 DriveFileType file_type); 154 DriveFileType file_type);
154 155
155 // Kicks off file upload once it receives |content_type|. 156 // Kicks off file upload once it receives |content_type|.
156 void StartFileUpload(const StartFileUploadParams& params, 157 void StartFileUpload(const StartFileUploadParams& params,
157 const std::string* content_type, 158 const std::string* content_type,
158 bool got_content_type); 159 bool got_content_type);
159 160
160 // Part of StartFileUpload(). Called after GetEntryInfoByPath() 161 // Part of StartFileUpload(). Called after GetEntryInfoByPath()
161 // is complete. 162 // is complete.
162 void StartFileUploadAfterGetEntryInfo( 163 void StartFileUploadAfterGetEntryInfo(
163 const StartFileUploadParams& params, 164 const StartFileUploadParams& params,
164 const std::string& content_type, 165 const std::string& content_type,
165 DriveFileError error, 166 DriveFileError error,
166 scoped_ptr<DriveEntryProto> entry_proto); 167 scoped_ptr<DriveEntryProto> entry_proto);
167 168
168 // Helper function that completes bookkeeping tasks related to 169 // Helper function that completes bookkeeping tasks related to
169 // completed file transfer. 170 // completed file transfer.
170 void OnTransferCompleted( 171 void OnTransferCompleted(
171 const FileOperationCallback& callback, 172 const FileOperationCallback& callback,
172 google_apis::DriveUploadError error, 173 google_apis::DriveUploadError error,
173 const FilePath& drive_path, 174 const base::FilePath& drive_path,
174 const FilePath& file_path, 175 const base::FilePath& file_path,
175 scoped_ptr<google_apis::ResourceEntry> resource_entry); 176 scoped_ptr<google_apis::ResourceEntry> resource_entry);
176 177
177 // Part of TransferFileFromLocalToRemote(). Called after 178 // Part of TransferFileFromLocalToRemote(). Called after
178 // GetEntryInfoByPath() is complete. 179 // GetEntryInfoByPath() is complete.
179 void TransferFileFromLocalToRemoteAfterGetEntryInfo( 180 void TransferFileFromLocalToRemoteAfterGetEntryInfo(
180 const FilePath& local_src_file_path, 181 const base::FilePath& local_src_file_path,
181 const FilePath& remote_dest_file_path, 182 const base::FilePath& remote_dest_file_path,
182 const FileOperationCallback& callback, 183 const FileOperationCallback& callback,
183 DriveFileError error, 184 DriveFileError error,
184 scoped_ptr<DriveEntryProto> entry_proto); 185 scoped_ptr<DriveEntryProto> entry_proto);
185 186
186 // Initiates transfer of |local_file_path| with |resource_id| to 187 // Initiates transfer of |local_file_path| with |resource_id| to
187 // |remote_dest_file_path|. |local_file_path| must be a file from the local 188 // |remote_dest_file_path|. |local_file_path| must be a file from the local
188 // file system, |remote_dest_file_path| is the virtual destination path within 189 // file system, |remote_dest_file_path| is the virtual destination path within
189 // Drive file system. If |resource_id| is a non-empty string, the transfer is 190 // Drive file system. If |resource_id| is a non-empty string, the transfer is
190 // handled by CopyDocumentToDirectory. Otherwise, the transfer is handled by 191 // handled by CopyDocumentToDirectory. Otherwise, the transfer is handled by
191 // TransferRegularFile. 192 // TransferRegularFile.
192 // 193 //
193 // Must be called from *UI* thread. |callback| is run on the calling thread. 194 // Must be called from *UI* thread. |callback| is run on the calling thread.
194 // |callback| must not be null. 195 // |callback| must not be null.
195 void TransferFileForResourceId(const FilePath& local_file_path, 196 void TransferFileForResourceId(const base::FilePath& local_file_path,
196 const FilePath& remote_dest_file_path, 197 const base::FilePath& remote_dest_file_path,
197 const FileOperationCallback& callback, 198 const FileOperationCallback& callback,
198 const std::string& resource_id); 199 const std::string& resource_id);
199 200
200 DriveScheduler* drive_scheduler_; 201 DriveScheduler* drive_scheduler_;
201 DriveFileSystemInterface* drive_file_system_; 202 DriveFileSystemInterface* drive_file_system_;
202 DriveResourceMetadata* metadata_; 203 DriveResourceMetadata* metadata_;
203 google_apis::DriveUploaderInterface* uploader_; 204 google_apis::DriveUploaderInterface* uploader_;
204 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; 205 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
205 OperationObserver* observer_; 206 OperationObserver* observer_;
206 207
207 // Copying a hosted document is internally implemented by using a move. 208 // Copying a hosted document is internally implemented by using a move.
208 scoped_ptr<MoveOperation> move_operation_; 209 scoped_ptr<MoveOperation> move_operation_;
209 210
210 // WeakPtrFactory bound to the UI thread. 211 // WeakPtrFactory bound to the UI thread.
211 // Note: This should remain the last member so it'll be destroyed and 212 // Note: This should remain the last member so it'll be destroyed and
212 // invalidate the weak pointers before any other members are destroyed. 213 // invalidate the weak pointers before any other members are destroyed.
213 base::WeakPtrFactory<CopyOperation> weak_ptr_factory_; 214 base::WeakPtrFactory<CopyOperation> weak_ptr_factory_;
214 215
215 DISALLOW_COPY_AND_ASSIGN(CopyOperation); 216 DISALLOW_COPY_AND_ASSIGN(CopyOperation);
216 }; 217 };
217 218
218 } // namespace file_system 219 } // namespace file_system
219 } // namespace drive 220 } // namespace drive
220 221
221 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_ 222 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_COPY_OPERATION_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/drive_webapps_registry.h ('k') | chrome/browser/chromeos/drive/file_system/drive_operations.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698