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

Side by Side Diff: chrome/browser/chromeos/drive/file_system.cc

Issue 16107004: drive: Stop returning FilePath from GetResourceEntryById (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 | 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 #include "chrome/browser/chromeos/drive/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 21 matching lines...) Expand all
32 #include "content/public/browser/browser_thread.h" 32 #include "content/public/browser/browser_thread.h"
33 #include "content/public/browser/notification_details.h" 33 #include "content/public/browser/notification_details.h"
34 34
35 using content::BrowserThread; 35 using content::BrowserThread;
36 36
37 namespace drive { 37 namespace drive {
38 namespace { 38 namespace {
39 39
40 //================================ Helper functions ============================ 40 //================================ Helper functions ============================
41 41
42 // Helper function for binding |path| to GetResourceEntryWithFilePathCallback
43 // and create GetResourceEntryCallback.
44 void RunGetResourceEntryWithFilePathCallback(
45 const GetResourceEntryWithFilePathCallback& callback,
46 const base::FilePath& path,
47 FileError error,
48 scoped_ptr<ResourceEntry> entry) {
49 DCHECK(!callback.is_null());
50 callback.Run(error, path, entry.Pass());
51 }
52
53 // Callback for ResourceMetadata::GetLargestChangestamp. 42 // Callback for ResourceMetadata::GetLargestChangestamp.
54 // |callback| must not be null. 43 // |callback| must not be null.
55 void OnGetLargestChangestamp( 44 void OnGetLargestChangestamp(
56 FileSystemMetadata metadata, // Will be modified. 45 FileSystemMetadata metadata, // Will be modified.
57 const GetFilesystemMetadataCallback& callback, 46 const GetFilesystemMetadataCallback& callback,
58 int64 largest_changestamp) { 47 int64 largest_changestamp) {
59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 48 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
60 DCHECK(!callback.is_null()); 49 DCHECK(!callback.is_null());
61 50
62 metadata.largest_changestamp = largest_changestamp; 51 metadata.largest_changestamp = largest_changestamp;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 observers_.AddObserver(observer); 161 observers_.AddObserver(observer);
173 } 162 }
174 163
175 void FileSystem::RemoveObserver(FileSystemObserver* observer) { 164 void FileSystem::RemoveObserver(FileSystemObserver* observer) {
176 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 165 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
177 observers_.RemoveObserver(observer); 166 observers_.RemoveObserver(observer);
178 } 167 }
179 168
180 void FileSystem::GetResourceEntryById( 169 void FileSystem::GetResourceEntryById(
181 const std::string& resource_id, 170 const std::string& resource_id,
182 const GetResourceEntryWithFilePathCallback& callback) { 171 const GetResourceEntryCallback& callback) {
183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 172 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
184 DCHECK(!resource_id.empty()); 173 DCHECK(!resource_id.empty());
185 DCHECK(!callback.is_null()); 174 DCHECK(!callback.is_null());
186 175
187 resource_metadata_->GetResourceEntryByIdOnUIThread( 176 resource_metadata_->GetResourceEntryByIdOnUIThread(
188 resource_id, 177 resource_id,
189 base::Bind(&FileSystem::GetResourceEntryByIdAfterGetEntry, 178 base::Bind(&FileSystem::GetResourceEntryByIdAfterGetEntry,
190 weak_ptr_factory_.GetWeakPtr(), 179 weak_ptr_factory_.GetWeakPtr(),
191 callback)); 180 callback));
192 } 181 }
193 182
194 void FileSystem::GetResourceEntryByIdAfterGetEntry( 183 void FileSystem::GetResourceEntryByIdAfterGetEntry(
195 const GetResourceEntryWithFilePathCallback& callback, 184 const GetResourceEntryCallback& callback,
196 FileError error, 185 FileError error,
197 const base::FilePath& file_path,
198 scoped_ptr<ResourceEntry> entry) { 186 scoped_ptr<ResourceEntry> entry) {
199 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 187 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
200 DCHECK(!callback.is_null()); 188 DCHECK(!callback.is_null());
201 189
202 if (error != FILE_ERROR_OK) { 190 if (error != FILE_ERROR_OK) {
203 callback.Run(error, base::FilePath(), scoped_ptr<ResourceEntry>()); 191 callback.Run(error, scoped_ptr<ResourceEntry>());
204 return; 192 return;
205 } 193 }
206 DCHECK(entry.get()); 194 DCHECK(entry.get());
207 195
208 CheckLocalModificationAndRun( 196 CheckLocalModificationAndRun(entry.Pass(), callback);
209 entry.Pass(),
210 base::Bind(&RunGetResourceEntryWithFilePathCallback,
211 callback,
212 file_path));
213 } 197 }
214 198
215 void FileSystem::TransferFileFromRemoteToLocal( 199 void FileSystem::TransferFileFromRemoteToLocal(
216 const base::FilePath& remote_src_file_path, 200 const base::FilePath& remote_src_file_path,
217 const base::FilePath& local_dest_file_path, 201 const base::FilePath& local_dest_file_path,
218 const FileOperationCallback& callback) { 202 const FileOperationCallback& callback) {
219 203
220 operations_.TransferFileFromRemoteToLocal(remote_src_file_path, 204 operations_.TransferFileFromRemoteToLocal(remote_src_file_path,
221 local_dest_file_path, 205 local_dest_file_path,
222 callback); 206 callback);
(...skipping 884 matching lines...) Expand 10 before | Expand all | Expand 10 after
1107 return; 1091 return;
1108 } 1092 }
1109 1093
1110 PlatformFileInfoProto entry_file_info; 1094 PlatformFileInfoProto entry_file_info;
1111 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info); 1095 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info);
1112 *entry->mutable_file_info() = entry_file_info; 1096 *entry->mutable_file_info() = entry_file_info;
1113 callback.Run(FILE_ERROR_OK, entry.Pass()); 1097 callback.Run(FILE_ERROR_OK, entry.Pass());
1114 } 1098 }
1115 1099
1116 } // namespace drive 1100 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/file_system.h ('k') | chrome/browser/chromeos/drive/file_system/create_directory_operation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698