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

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

Issue 13450006: Support new methods to replace GetResourceList on DriveScheduler. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 8 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) 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/drive_scheduler.h" 5 #include "chrome/browser/chromeos/drive/drive_scheduler.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 new_job->start_changestamp = start_changestamp; 146 new_job->start_changestamp = start_changestamp;
147 new_job->search_query = search_query; 147 new_job->search_query = search_query;
148 new_job->directory_resource_id = directory_resource_id; 148 new_job->directory_resource_id = directory_resource_id;
149 new_job->get_resource_list_callback = callback; 149 new_job->get_resource_list_callback = callback;
150 150
151 QueueJob(new_job.Pass()); 151 QueueJob(new_job.Pass());
152 152
153 StartJobLoop(GetJobQueueType(TYPE_GET_RESOURCE_LIST)); 153 StartJobLoop(GetJobQueueType(TYPE_GET_RESOURCE_LIST));
154 } 154 }
155 155
156 void DriveScheduler::GetAllResourceList(
157 const google_apis::GetResourceListCallback& callback) {
158 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
159 DCHECK(!callback.is_null());
160
161 scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_ALL_RESOURCE_LIST));
162 new_job->get_resource_list_callback = callback;
163
164 QueueJob(new_job.Pass());
165
166 StartJobLoop(GetJobQueueType(TYPE_GET_ALL_RESOURCE_LIST));
167 }
168
169 void DriveScheduler::GetResourceListInDirectory(
170 const std::string& directory_resource_id,
171 const google_apis::GetResourceListCallback& callback) {
172 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
173 DCHECK(!callback.is_null());
174
175 scoped_ptr<QueueEntry> new_job(
176 new QueueEntry(TYPE_GET_RESOURCE_LIST_IN_DIRECTORY));
177 new_job->directory_resource_id = directory_resource_id;
178 new_job->get_resource_list_callback = callback;
179
180 QueueJob(new_job.Pass());
181
182 StartJobLoop(GetJobQueueType(TYPE_GET_RESOURCE_LIST_IN_DIRECTORY));
183 }
184
185 void DriveScheduler::Search(
186 const std::string& search_query,
187 const google_apis::GetResourceListCallback& callback) {
188 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
189 DCHECK(!callback.is_null());
190
191 scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_SEARCH));
192 new_job->search_query = search_query;
193 new_job->get_resource_list_callback = callback;
194
195 QueueJob(new_job.Pass());
196
197 StartJobLoop(GetJobQueueType(TYPE_SEARCH));
198 }
199
200 void DriveScheduler::GetChangeList(
201 int64 start_changestamp,
202 const google_apis::GetResourceListCallback& callback) {
203 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
204 DCHECK(!callback.is_null());
205
206 scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_CHANGE_LIST));
207 new_job->start_changestamp = start_changestamp;
208 new_job->get_resource_list_callback = callback;
209
210 QueueJob(new_job.Pass());
211
212 StartJobLoop(GetJobQueueType(TYPE_GET_CHANGE_LIST));
213 }
214
215 void DriveScheduler::ContinueGetResourceList(
216 const GURL& feed_url,
217 const google_apis::GetResourceListCallback& callback) {
218 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
219 DCHECK(!callback.is_null());
220
221 scoped_ptr<QueueEntry> new_job(
222 new QueueEntry(TYPE_CONTINUE_GET_RESOURCE_LIST));
223 new_job->feed_url = feed_url;
224 new_job->get_resource_list_callback = callback;
225
226 QueueJob(new_job.Pass());
227
228 StartJobLoop(GetJobQueueType(TYPE_CONTINUE_GET_RESOURCE_LIST));
229 }
230
156 void DriveScheduler::GetResourceEntry( 231 void DriveScheduler::GetResourceEntry(
157 const std::string& resource_id, 232 const std::string& resource_id,
158 const DriveClientContext& context, 233 const DriveClientContext& context,
159 const google_apis::GetResourceEntryCallback& callback) { 234 const google_apis::GetResourceEntryCallback& callback) {
160 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 235 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
161 DCHECK(!callback.is_null()); 236 DCHECK(!callback.is_null());
162 237
163 scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_RESOURCE_ENTRY)); 238 scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_RESOURCE_ENTRY));
164 new_job->resource_id = resource_id; 239 new_job->resource_id = resource_id;
165 new_job->context = context; 240 new_job->context = context;
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 entry->feed_url, 489 entry->feed_url,
415 entry->start_changestamp, 490 entry->start_changestamp,
416 entry->search_query, 491 entry->search_query,
417 entry->directory_resource_id, 492 entry->directory_resource_id,
418 base::Bind(&DriveScheduler::OnGetResourceListJobDone, 493 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
419 weak_ptr_factory_.GetWeakPtr(), 494 weak_ptr_factory_.GetWeakPtr(),
420 base::Passed(&queue_entry))); 495 base::Passed(&queue_entry)));
421 } 496 }
422 break; 497 break;
423 498
499 case TYPE_GET_ALL_RESOURCE_LIST: {
500 drive_service_->GetAllResourceList(
501 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
502 weak_ptr_factory_.GetWeakPtr(),
503 base::Passed(&queue_entry)));
504 }
505 break;
506
507 case TYPE_GET_RESOURCE_LIST_IN_DIRECTORY: {
508 drive_service_->GetResourceListInDirectory(
509 entry->directory_resource_id,
510 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
511 weak_ptr_factory_.GetWeakPtr(),
512 base::Passed(&queue_entry)));
513 }
514 break;
515
516 case TYPE_SEARCH: {
517 drive_service_->Search(
518 entry->search_query,
519 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
520 weak_ptr_factory_.GetWeakPtr(),
521 base::Passed(&queue_entry)));
522 }
523 break;
524
525 case TYPE_GET_CHANGE_LIST: {
526 drive_service_->GetChangeList(
527 entry->start_changestamp,
528 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
529 weak_ptr_factory_.GetWeakPtr(),
530 base::Passed(&queue_entry)));
531 }
532 break;
533
534 case TYPE_CONTINUE_GET_RESOURCE_LIST: {
535 drive_service_->ContinueGetResourceList(
536 entry->feed_url,
537 base::Bind(&DriveScheduler::OnGetResourceListJobDone,
538 weak_ptr_factory_.GetWeakPtr(),
539 base::Passed(&queue_entry)));
540 }
541 break;
542
424 case TYPE_GET_RESOURCE_ENTRY: { 543 case TYPE_GET_RESOURCE_ENTRY: {
425 drive_service_->GetResourceEntry( 544 drive_service_->GetResourceEntry(
426 entry->resource_id, 545 entry->resource_id,
427 base::Bind(&DriveScheduler::OnGetResourceEntryJobDone, 546 base::Bind(&DriveScheduler::OnGetResourceEntryJobDone,
428 weak_ptr_factory_.GetWeakPtr(), 547 weak_ptr_factory_.GetWeakPtr(),
429 base::Passed(&queue_entry))); 548 base::Passed(&queue_entry)));
430 } 549 }
431 break; 550 break;
432 551
433 case TYPE_DELETE_RESOURCE: { 552 case TYPE_DELETE_RESOURCE: {
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 } 909 }
791 } 910 }
792 } 911 }
793 912
794 DriveScheduler::QueueType DriveScheduler::GetJobQueueType(JobType type) { 913 DriveScheduler::QueueType DriveScheduler::GetJobQueueType(JobType type) {
795 switch (type) { 914 switch (type) {
796 case TYPE_GET_ABOUT_RESOURCE: 915 case TYPE_GET_ABOUT_RESOURCE:
797 case TYPE_GET_ACCOUNT_METADATA: 916 case TYPE_GET_ACCOUNT_METADATA:
798 case TYPE_GET_APP_LIST: 917 case TYPE_GET_APP_LIST:
799 case TYPE_GET_RESOURCE_LIST: 918 case TYPE_GET_RESOURCE_LIST:
919 case TYPE_GET_ALL_RESOURCE_LIST:
920 case TYPE_GET_RESOURCE_LIST_IN_DIRECTORY:
921 case TYPE_SEARCH:
922 case TYPE_GET_CHANGE_LIST:
923 case TYPE_CONTINUE_GET_RESOURCE_LIST:
800 case TYPE_GET_RESOURCE_ENTRY: 924 case TYPE_GET_RESOURCE_ENTRY:
801 case TYPE_DELETE_RESOURCE: 925 case TYPE_DELETE_RESOURCE:
802 case TYPE_COPY_HOSTED_DOCUMENT: 926 case TYPE_COPY_HOSTED_DOCUMENT:
803 case TYPE_RENAME_RESOURCE: 927 case TYPE_RENAME_RESOURCE:
804 case TYPE_ADD_RESOURCE_TO_DIRECTORY: 928 case TYPE_ADD_RESOURCE_TO_DIRECTORY:
805 case TYPE_REMOVE_RESOURCE_FROM_DIRECTORY: 929 case TYPE_REMOVE_RESOURCE_FROM_DIRECTORY:
806 case TYPE_ADD_NEW_DIRECTORY: 930 case TYPE_ADD_NEW_DIRECTORY:
807 return METADATA_QUEUE; 931 return METADATA_QUEUE;
808 932
809 case TYPE_DOWNLOAD_FILE: 933 case TYPE_DOWNLOAD_FILE:
810 case TYPE_UPLOAD_NEW_FILE: 934 case TYPE_UPLOAD_NEW_FILE:
811 case TYPE_UPLOAD_EXISTING_FILE: 935 case TYPE_UPLOAD_EXISTING_FILE:
812 return FILE_QUEUE; 936 return FILE_QUEUE;
813 } 937 }
814 NOTREACHED(); 938 NOTREACHED();
815 return FILE_QUEUE; 939 return FILE_QUEUE;
816 } 940 }
817 941
818 } // namespace drive 942 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/drive_scheduler.h ('k') | chrome/browser/chromeos/drive/drive_scheduler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698