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

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

Issue 318873003: drive: Stop returning ResourceList from JobScheduler (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
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 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 &DriveServiceInterface::GetAppList, 262 &DriveServiceInterface::GetAppList,
263 base::Unretained(drive_service_), 263 base::Unretained(drive_service_),
264 base::Bind(&JobScheduler::OnGetAppListJobDone, 264 base::Bind(&JobScheduler::OnGetAppListJobDone,
265 weak_ptr_factory_.GetWeakPtr(), 265 weak_ptr_factory_.GetWeakPtr(),
266 new_job->job_info.job_id, 266 new_job->job_info.job_id,
267 callback)); 267 callback));
268 new_job->abort_callback = CreateErrorRunCallback(callback); 268 new_job->abort_callback = CreateErrorRunCallback(callback);
269 StartJob(new_job); 269 StartJob(new_job);
270 } 270 }
271 271
272 void JobScheduler::GetAllResourceList( 272 void JobScheduler::GetAllFileList(
273 const google_apis::GetResourceListCallback& callback) { 273 const google_apis::FileListCallback& callback) {
274 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 274 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
275 DCHECK(!callback.is_null()); 275 DCHECK(!callback.is_null());
276 276
277 JobEntry* new_job = CreateNewJob(TYPE_GET_ALL_RESOURCE_LIST); 277 JobEntry* new_job = CreateNewJob(TYPE_GET_ALL_RESOURCE_LIST);
278 new_job->task = base::Bind( 278 new_job->task = base::Bind(
279 &DriveServiceInterface::GetAllFileList, 279 &DriveServiceInterface::GetAllFileList,
280 base::Unretained(drive_service_), 280 base::Unretained(drive_service_),
281 base::Bind(&JobScheduler::OnGetFileListJobDone, 281 base::Bind(&JobScheduler::OnGetFileListJobDone,
282 weak_ptr_factory_.GetWeakPtr(), 282 weak_ptr_factory_.GetWeakPtr(),
283 new_job->job_info.job_id, 283 new_job->job_info.job_id,
284 callback)); 284 callback));
285 new_job->abort_callback = CreateErrorRunCallback(callback); 285 new_job->abort_callback = CreateErrorRunCallback(callback);
286 StartJob(new_job); 286 StartJob(new_job);
287 } 287 }
288 288
289 void JobScheduler::GetResourceListInDirectory( 289 void JobScheduler::GetFileListInDirectory(
290 const std::string& directory_resource_id, 290 const std::string& directory_resource_id,
291 const google_apis::GetResourceListCallback& callback) { 291 const google_apis::FileListCallback& callback) {
292 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 292 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
293 DCHECK(!callback.is_null()); 293 DCHECK(!callback.is_null());
294 294
295 JobEntry* new_job = CreateNewJob( 295 JobEntry* new_job = CreateNewJob(
296 TYPE_GET_RESOURCE_LIST_IN_DIRECTORY); 296 TYPE_GET_RESOURCE_LIST_IN_DIRECTORY);
297 new_job->task = base::Bind( 297 new_job->task = base::Bind(
298 &DriveServiceInterface::GetFileListInDirectory, 298 &DriveServiceInterface::GetFileListInDirectory,
299 base::Unretained(drive_service_), 299 base::Unretained(drive_service_),
300 directory_resource_id, 300 directory_resource_id,
301 base::Bind(&JobScheduler::OnGetFileListJobDone, 301 base::Bind(&JobScheduler::OnGetFileListJobDone,
302 weak_ptr_factory_.GetWeakPtr(), 302 weak_ptr_factory_.GetWeakPtr(),
303 new_job->job_info.job_id, 303 new_job->job_info.job_id,
304 callback)); 304 callback));
305 new_job->abort_callback = CreateErrorRunCallback(callback); 305 new_job->abort_callback = CreateErrorRunCallback(callback);
306 StartJob(new_job); 306 StartJob(new_job);
307 } 307 }
308 308
309 void JobScheduler::Search( 309 void JobScheduler::Search(const std::string& search_query,
310 const std::string& search_query, 310 const google_apis::FileListCallback& callback) {
311 const google_apis::GetResourceListCallback& callback) {
312 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 311 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
313 DCHECK(!callback.is_null()); 312 DCHECK(!callback.is_null());
314 313
315 JobEntry* new_job = CreateNewJob(TYPE_SEARCH); 314 JobEntry* new_job = CreateNewJob(TYPE_SEARCH);
316 new_job->task = base::Bind( 315 new_job->task = base::Bind(
317 &DriveServiceInterface::Search, 316 &DriveServiceInterface::Search,
318 base::Unretained(drive_service_), 317 base::Unretained(drive_service_),
319 search_query, 318 search_query,
320 base::Bind(&JobScheduler::OnGetFileListJobDone, 319 base::Bind(&JobScheduler::OnGetFileListJobDone,
321 weak_ptr_factory_.GetWeakPtr(), 320 weak_ptr_factory_.GetWeakPtr(),
322 new_job->job_info.job_id, 321 new_job->job_info.job_id,
323 callback)); 322 callback));
324 new_job->abort_callback = CreateErrorRunCallback(callback); 323 new_job->abort_callback = CreateErrorRunCallback(callback);
325 StartJob(new_job); 324 StartJob(new_job);
326 } 325 }
327 326
328 void JobScheduler::GetChangeList( 327 void JobScheduler::GetChangeList(
329 int64 start_changestamp, 328 int64 start_changestamp,
330 const google_apis::GetResourceListCallback& callback) { 329 const google_apis::ChangeListCallback& callback) {
331 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 330 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
332 DCHECK(!callback.is_null()); 331 DCHECK(!callback.is_null());
333 332
334 JobEntry* new_job = CreateNewJob(TYPE_GET_CHANGE_LIST); 333 JobEntry* new_job = CreateNewJob(TYPE_GET_CHANGE_LIST);
335 new_job->task = base::Bind( 334 new_job->task = base::Bind(
336 &DriveServiceInterface::GetChangeList, 335 &DriveServiceInterface::GetChangeList,
337 base::Unretained(drive_service_), 336 base::Unretained(drive_service_),
338 start_changestamp, 337 start_changestamp,
339 base::Bind(&JobScheduler::OnGetChangeListJobDone, 338 base::Bind(&JobScheduler::OnGetChangeListJobDone,
340 weak_ptr_factory_.GetWeakPtr(), 339 weak_ptr_factory_.GetWeakPtr(),
341 new_job->job_info.job_id, 340 new_job->job_info.job_id,
342 callback)); 341 callback));
343 new_job->abort_callback = CreateErrorRunCallback(callback); 342 new_job->abort_callback = CreateErrorRunCallback(callback);
344 StartJob(new_job); 343 StartJob(new_job);
345 } 344 }
346 345
347 void JobScheduler::GetRemainingChangeList( 346 void JobScheduler::GetRemainingChangeList(
348 const GURL& next_link, 347 const GURL& next_link,
349 const google_apis::GetResourceListCallback& callback) { 348 const google_apis::ChangeListCallback& callback) {
350 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 349 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
351 DCHECK(!callback.is_null()); 350 DCHECK(!callback.is_null());
352 351
353 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_CHANGE_LIST); 352 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_CHANGE_LIST);
354 new_job->task = base::Bind( 353 new_job->task = base::Bind(
355 &DriveServiceInterface::GetRemainingChangeList, 354 &DriveServiceInterface::GetRemainingChangeList,
356 base::Unretained(drive_service_), 355 base::Unretained(drive_service_),
357 next_link, 356 next_link,
358 base::Bind(&JobScheduler::OnGetChangeListJobDone, 357 base::Bind(&JobScheduler::OnGetChangeListJobDone,
359 weak_ptr_factory_.GetWeakPtr(), 358 weak_ptr_factory_.GetWeakPtr(),
360 new_job->job_info.job_id, 359 new_job->job_info.job_id,
361 callback)); 360 callback));
362 new_job->abort_callback = CreateErrorRunCallback(callback); 361 new_job->abort_callback = CreateErrorRunCallback(callback);
363 StartJob(new_job); 362 StartJob(new_job);
364 } 363 }
365 364
366 void JobScheduler::GetRemainingFileList( 365 void JobScheduler::GetRemainingFileList(
367 const GURL& next_link, 366 const GURL& next_link,
368 const google_apis::GetResourceListCallback& callback) { 367 const google_apis::FileListCallback& callback) {
369 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 368 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
370 DCHECK(!callback.is_null()); 369 DCHECK(!callback.is_null());
371 370
372 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_FILE_LIST); 371 JobEntry* new_job = CreateNewJob(TYPE_GET_REMAINING_FILE_LIST);
373 new_job->task = base::Bind( 372 new_job->task = base::Bind(
374 &DriveServiceInterface::GetRemainingFileList, 373 &DriveServiceInterface::GetRemainingFileList,
375 base::Unretained(drive_service_), 374 base::Unretained(drive_service_),
376 next_link, 375 next_link,
377 base::Bind(&JobScheduler::OnGetFileListJobDone, 376 base::Bind(&JobScheduler::OnGetFileListJobDone,
378 weak_ptr_factory_.GetWeakPtr(), 377 weak_ptr_factory_.GetWeakPtr(),
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 // the current job before starting the next one. 894 // the current job before starting the next one.
896 base::MessageLoopProxy::current()->PostTask(FROM_HERE, 895 base::MessageLoopProxy::current()->PostTask(FROM_HERE,
897 base::Bind(&JobScheduler::DoJobLoop, 896 base::Bind(&JobScheduler::DoJobLoop,
898 weak_ptr_factory_.GetWeakPtr(), 897 weak_ptr_factory_.GetWeakPtr(),
899 queue_type)); 898 queue_type));
900 return !should_retry; 899 return !should_retry;
901 } 900 }
902 901
903 void JobScheduler::OnGetFileListJobDone( 902 void JobScheduler::OnGetFileListJobDone(
904 JobID job_id, 903 JobID job_id,
905 const google_apis::GetResourceListCallback& callback, 904 const google_apis::FileListCallback& callback,
906 google_apis::GDataErrorCode error, 905 google_apis::GDataErrorCode error,
907 scoped_ptr<google_apis::FileList> file_list) { 906 scoped_ptr<google_apis::FileList> file_list) {
908 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 907 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
909 DCHECK(!callback.is_null()); 908 DCHECK(!callback.is_null());
910 909
911 if (OnJobDone(job_id, error)) { 910 if (OnJobDone(job_id, error))
912 callback.Run(error, file_list ? 911 callback.Run(error, file_list.Pass());
913 util::ConvertFileListToResourceList(*file_list) :
914 scoped_ptr<google_apis::ResourceList>());
915 }
916 } 912 }
917 913
918 void JobScheduler::OnGetChangeListJobDone( 914 void JobScheduler::OnGetChangeListJobDone(
919 JobID job_id, 915 JobID job_id,
920 const google_apis::GetResourceListCallback& callback, 916 const google_apis::ChangeListCallback& callback,
921 google_apis::GDataErrorCode error, 917 google_apis::GDataErrorCode error,
922 scoped_ptr<google_apis::ChangeList> change_list) { 918 scoped_ptr<google_apis::ChangeList> change_list) {
923 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 919 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
924 DCHECK(!callback.is_null()); 920 DCHECK(!callback.is_null());
925 921
926 if (OnJobDone(job_id, error)) { 922 if (OnJobDone(job_id, error))
927 callback.Run(error, change_list ? 923 callback.Run(error, change_list.Pass());
928 util::ConvertChangeListToResourceList(*change_list) :
929 scoped_ptr<google_apis::ResourceList>());
930
931 }
932 } 924 }
933 925
934 void JobScheduler::OnGetFileResourceJobDone( 926 void JobScheduler::OnGetFileResourceJobDone(
935 JobID job_id, 927 JobID job_id,
936 const google_apis::GetResourceEntryCallback& callback, 928 const google_apis::GetResourceEntryCallback& callback,
937 google_apis::GDataErrorCode error, 929 google_apis::GDataErrorCode error,
938 scoped_ptr<google_apis::FileResource> entry) { 930 scoped_ptr<google_apis::FileResource> entry) {
939 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 931 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
940 DCHECK(!callback.is_null()); 932 DCHECK(!callback.is_null());
941 933
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 case FILE_QUEUE: 1167 case FILE_QUEUE:
1176 return "FILE_QUEUE"; 1168 return "FILE_QUEUE";
1177 case NUM_QUEUES: 1169 case NUM_QUEUES:
1178 break; // This value is just a sentinel. Should never be used. 1170 break; // This value is just a sentinel. Should never be used.
1179 } 1171 }
1180 NOTREACHED(); 1172 NOTREACHED();
1181 return ""; 1173 return "";
1182 } 1174 }
1183 1175
1184 } // namespace drive 1176 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/job_scheduler.h ('k') | chrome/browser/chromeos/drive/job_scheduler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698