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

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

Issue 305913002: drive: Replace GetResourceListCallback in DriveServiceInterface with FileListCallback (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
« no previous file with comments | « chrome/browser/chromeos/drive/job_scheduler.h ('k') | chrome/browser/drive/drive_api_service.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/job_scheduler.h" 5 #include "chrome/browser/chromeos/drive/job_scheduler.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/rand_util.h" 9 #include "base/rand_util.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 StartJob(new_job); 268 StartJob(new_job);
269 } 269 }
270 270
271 void JobScheduler::GetAllResourceList( 271 void JobScheduler::GetAllResourceList(
272 const google_apis::GetResourceListCallback& callback) { 272 const google_apis::GetResourceListCallback& callback) {
273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
274 DCHECK(!callback.is_null()); 274 DCHECK(!callback.is_null());
275 275
276 JobEntry* new_job = CreateNewJob(TYPE_GET_ALL_RESOURCE_LIST); 276 JobEntry* new_job = CreateNewJob(TYPE_GET_ALL_RESOURCE_LIST);
277 new_job->task = base::Bind( 277 new_job->task = base::Bind(
278 &DriveServiceInterface::GetAllResourceList, 278 &DriveServiceInterface::GetAllFileList,
279 base::Unretained(drive_service_), 279 base::Unretained(drive_service_),
280 base::Bind(&JobScheduler::OnGetResourceListJobDone, 280 base::Bind(&JobScheduler::OnGetFileListJobDone,
281 weak_ptr_factory_.GetWeakPtr(), 281 weak_ptr_factory_.GetWeakPtr(),
282 new_job->job_info.job_id, 282 new_job->job_info.job_id,
283 callback)); 283 callback));
284 new_job->abort_callback = CreateErrorRunCallback(callback); 284 new_job->abort_callback = CreateErrorRunCallback(callback);
285 StartJob(new_job); 285 StartJob(new_job);
286 } 286 }
287 287
288 void JobScheduler::GetResourceListInDirectory( 288 void JobScheduler::GetResourceListInDirectory(
289 const std::string& directory_resource_id, 289 const std::string& directory_resource_id,
290 const google_apis::GetResourceListCallback& callback) { 290 const google_apis::GetResourceListCallback& callback) {
291 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 291 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
292 DCHECK(!callback.is_null()); 292 DCHECK(!callback.is_null());
293 293
294 JobEntry* new_job = CreateNewJob( 294 JobEntry* new_job = CreateNewJob(
295 TYPE_GET_RESOURCE_LIST_IN_DIRECTORY); 295 TYPE_GET_RESOURCE_LIST_IN_DIRECTORY);
296 new_job->task = base::Bind( 296 new_job->task = base::Bind(
297 &DriveServiceInterface::GetResourceListInDirectory, 297 &DriveServiceInterface::GetFileListInDirectory,
298 base::Unretained(drive_service_), 298 base::Unretained(drive_service_),
299 directory_resource_id, 299 directory_resource_id,
300 base::Bind(&JobScheduler::OnGetResourceListJobDone, 300 base::Bind(&JobScheduler::OnGetFileListJobDone,
301 weak_ptr_factory_.GetWeakPtr(), 301 weak_ptr_factory_.GetWeakPtr(),
302 new_job->job_info.job_id, 302 new_job->job_info.job_id,
303 callback)); 303 callback));
304 new_job->abort_callback = CreateErrorRunCallback(callback); 304 new_job->abort_callback = CreateErrorRunCallback(callback);
305 StartJob(new_job); 305 StartJob(new_job);
306 } 306 }
307 307
308 void JobScheduler::Search( 308 void JobScheduler::Search(
309 const std::string& search_query, 309 const std::string& search_query,
310 const google_apis::GetResourceListCallback& callback) { 310 const google_apis::GetResourceListCallback& callback) {
311 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 311 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
312 DCHECK(!callback.is_null()); 312 DCHECK(!callback.is_null());
313 313
314 JobEntry* new_job = CreateNewJob(TYPE_SEARCH); 314 JobEntry* new_job = CreateNewJob(TYPE_SEARCH);
315 new_job->task = base::Bind( 315 new_job->task = base::Bind(
316 &DriveServiceInterface::Search, 316 &DriveServiceInterface::Search,
317 base::Unretained(drive_service_), 317 base::Unretained(drive_service_),
318 search_query, 318 search_query,
319 base::Bind(&JobScheduler::OnGetResourceListJobDone, 319 base::Bind(&JobScheduler::OnGetFileListJobDone,
320 weak_ptr_factory_.GetWeakPtr(), 320 weak_ptr_factory_.GetWeakPtr(),
321 new_job->job_info.job_id, 321 new_job->job_info.job_id,
322 callback)); 322 callback));
323 new_job->abort_callback = CreateErrorRunCallback(callback); 323 new_job->abort_callback = CreateErrorRunCallback(callback);
324 StartJob(new_job); 324 StartJob(new_job);
325 } 325 }
326 326
327 void JobScheduler::GetChangeList( 327 void JobScheduler::GetChangeList(
328 int64 start_changestamp, 328 int64 start_changestamp,
329 const google_apis::GetResourceListCallback& callback) { 329 const google_apis::GetResourceListCallback& callback) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 const GURL& next_link, 366 const GURL& next_link,
367 const google_apis::GetResourceListCallback& callback) { 367 const google_apis::GetResourceListCallback& callback) {
368 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 368 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
369 DCHECK(!callback.is_null()); 369 DCHECK(!callback.is_null());
370 370
371 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_FILE_LIST); 371 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_FILE_LIST);
372 new_job->task = base::Bind( 372 new_job->task = base::Bind(
373 &DriveServiceInterface::GetRemainingFileList, 373 &DriveServiceInterface::GetRemainingFileList,
374 base::Unretained(drive_service_), 374 base::Unretained(drive_service_),
375 next_link, 375 next_link,
376 base::Bind(&JobScheduler::OnGetResourceListJobDone, 376 base::Bind(&JobScheduler::OnGetFileListJobDone,
377 weak_ptr_factory_.GetWeakPtr(), 377 weak_ptr_factory_.GetWeakPtr(),
378 new_job->job_info.job_id, 378 new_job->job_info.job_id,
379 callback)); 379 callback));
380 new_job->abort_callback = CreateErrorRunCallback(callback); 380 new_job->abort_callback = CreateErrorRunCallback(callback);
381 StartJob(new_job); 381 StartJob(new_job);
382 } 382 }
383 383
384 void JobScheduler::GetResourceEntry( 384 void JobScheduler::GetResourceEntry(
385 const std::string& resource_id, 385 const std::string& resource_id,
386 const ClientContext& context, 386 const ClientContext& context,
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 892
893 // Post a task to continue the job loop. This allows us to finish handling 893 // Post a task to continue the job loop. This allows us to finish handling
894 // the current job before starting the next one. 894 // the current job before starting the next one.
895 base::MessageLoopProxy::current()->PostTask(FROM_HERE, 895 base::MessageLoopProxy::current()->PostTask(FROM_HERE,
896 base::Bind(&JobScheduler::DoJobLoop, 896 base::Bind(&JobScheduler::DoJobLoop,
897 weak_ptr_factory_.GetWeakPtr(), 897 weak_ptr_factory_.GetWeakPtr(),
898 queue_type)); 898 queue_type));
899 return !should_retry; 899 return !should_retry;
900 } 900 }
901 901
902 void JobScheduler::OnGetFileListJobDone(
903 JobID job_id,
904 const google_apis::GetResourceListCallback& callback,
905 google_apis::GDataErrorCode error,
906 scoped_ptr<google_apis::FileList> file_list) {
907 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
908 DCHECK(!callback.is_null());
909
910 if (OnJobDone(job_id, error)) {
911 callback.Run(error, file_list ?
912 util::ConvertFileListToResourceList(*file_list) :
913 scoped_ptr<google_apis::ResourceList>());
914 }
915 }
916
902 void JobScheduler::OnGetChangeListJobDone( 917 void JobScheduler::OnGetChangeListJobDone(
903 JobID job_id, 918 JobID job_id,
904 const google_apis::GetResourceListCallback& callback, 919 const google_apis::GetResourceListCallback& callback,
905 google_apis::GDataErrorCode error, 920 google_apis::GDataErrorCode error,
906 scoped_ptr<google_apis::ChangeList> change_list) { 921 scoped_ptr<google_apis::ChangeList> change_list) {
907 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 922 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
908 DCHECK(!callback.is_null()); 923 DCHECK(!callback.is_null());
909 924
910 if (OnJobDone(job_id, error)) { 925 if (OnJobDone(job_id, error)) {
911 callback.Run(error, change_list ? 926 callback.Run(error, change_list ?
912 util::ConvertChangeListToResourceList(*change_list) : 927 util::ConvertChangeListToResourceList(*change_list) :
913 scoped_ptr<google_apis::ResourceList>()); 928 scoped_ptr<google_apis::ResourceList>());
914 929
915 } 930 }
916 } 931 }
917 932
918 void JobScheduler::OnGetResourceListJobDone(
919 JobID job_id,
920 const google_apis::GetResourceListCallback& callback,
921 google_apis::GDataErrorCode error,
922 scoped_ptr<google_apis::ResourceList> resource_list) {
923 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
924 DCHECK(!callback.is_null());
925
926 if (OnJobDone(job_id, error))
927 callback.Run(error, resource_list.Pass());
928 }
929
930 void JobScheduler::OnGetResourceEntryJobDone( 933 void JobScheduler::OnGetResourceEntryJobDone(
931 JobID job_id, 934 JobID job_id,
932 const google_apis::GetResourceEntryCallback& callback, 935 const google_apis::GetResourceEntryCallback& callback,
933 google_apis::GDataErrorCode error, 936 google_apis::GDataErrorCode error,
934 scoped_ptr<google_apis::ResourceEntry> entry) { 937 scoped_ptr<google_apis::ResourceEntry> entry) {
935 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 938 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
936 DCHECK(!callback.is_null()); 939 DCHECK(!callback.is_null());
937 940
938 if (OnJobDone(job_id, error)) 941 if (OnJobDone(job_id, error))
939 callback.Run(error, entry.Pass()); 942 callback.Run(error, entry.Pass());
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 case FILE_QUEUE: 1165 case FILE_QUEUE:
1163 return "FILE_QUEUE"; 1166 return "FILE_QUEUE";
1164 case NUM_QUEUES: 1167 case NUM_QUEUES:
1165 break; // This value is just a sentinel. Should never be used. 1168 break; // This value is just a sentinel. Should never be used.
1166 } 1169 }
1167 NOTREACHED(); 1170 NOTREACHED();
1168 return ""; 1171 return "";
1169 } 1172 }
1170 1173
1171 } // namespace drive 1174 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/job_scheduler.h ('k') | chrome/browser/drive/drive_api_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698