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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/drive/drive_scheduler.cc
diff --git a/chrome/browser/chromeos/drive/drive_scheduler.cc b/chrome/browser/chromeos/drive/drive_scheduler.cc
index 457e2fbe859e0fc57eb346875753aebb26578957..544d604ff1e2736af7e085122af290a731b03cfd 100644
--- a/chrome/browser/chromeos/drive/drive_scheduler.cc
+++ b/chrome/browser/chromeos/drive/drive_scheduler.cc
@@ -153,6 +153,81 @@ void DriveScheduler::GetResourceList(
StartJobLoop(GetJobQueueType(TYPE_GET_RESOURCE_LIST));
}
+void DriveScheduler::GetAllResourceList(
+ const google_apis::GetResourceListCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_ALL_RESOURCE_LIST));
+ new_job->get_resource_list_callback = callback;
+
+ QueueJob(new_job.Pass());
+
+ StartJobLoop(GetJobQueueType(TYPE_GET_ALL_RESOURCE_LIST));
+}
+
+void DriveScheduler::GetResourceListInDirectory(
+ const std::string& directory_resource_id,
+ const google_apis::GetResourceListCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ scoped_ptr<QueueEntry> new_job(
+ new QueueEntry(TYPE_GET_RESOURCE_LIST_IN_DIRECTORY));
+ new_job->directory_resource_id = directory_resource_id;
+ new_job->get_resource_list_callback = callback;
+
+ QueueJob(new_job.Pass());
+
+ StartJobLoop(GetJobQueueType(TYPE_GET_RESOURCE_LIST_IN_DIRECTORY));
+}
+
+void DriveScheduler::Search(
+ const std::string& search_query,
+ const google_apis::GetResourceListCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_SEARCH));
+ new_job->search_query = search_query;
+ new_job->get_resource_list_callback = callback;
+
+ QueueJob(new_job.Pass());
+
+ StartJobLoop(GetJobQueueType(TYPE_SEARCH));
+}
+
+void DriveScheduler::GetChangeList(
+ int64 start_changestamp,
+ const google_apis::GetResourceListCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ scoped_ptr<QueueEntry> new_job(new QueueEntry(TYPE_GET_CHANGE_LIST));
+ new_job->start_changestamp = start_changestamp;
+ new_job->get_resource_list_callback = callback;
+
+ QueueJob(new_job.Pass());
+
+ StartJobLoop(GetJobQueueType(TYPE_GET_CHANGE_LIST));
+}
+
+void DriveScheduler::ContinueGetResourceList(
+ const GURL& feed_url,
+ const google_apis::GetResourceListCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ scoped_ptr<QueueEntry> new_job(
+ new QueueEntry(TYPE_CONTINUE_GET_RESOURCE_LIST));
+ new_job->feed_url = feed_url;
+ new_job->get_resource_list_callback = callback;
+
+ QueueJob(new_job.Pass());
+
+ StartJobLoop(GetJobQueueType(TYPE_CONTINUE_GET_RESOURCE_LIST));
+}
+
void DriveScheduler::GetResourceEntry(
const std::string& resource_id,
const DriveClientContext& context,
@@ -421,6 +496,50 @@ void DriveScheduler::DoJobLoop(QueueType queue_type) {
}
break;
+ case TYPE_GET_ALL_RESOURCE_LIST: {
+ drive_service_->GetAllResourceList(
+ base::Bind(&DriveScheduler::OnGetResourceListJobDone,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&queue_entry)));
+ }
+ break;
+
+ case TYPE_GET_RESOURCE_LIST_IN_DIRECTORY: {
+ drive_service_->GetResourceListInDirectory(
+ entry->directory_resource_id,
+ base::Bind(&DriveScheduler::OnGetResourceListJobDone,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&queue_entry)));
+ }
+ break;
+
+ case TYPE_SEARCH: {
+ drive_service_->Search(
+ entry->search_query,
+ base::Bind(&DriveScheduler::OnGetResourceListJobDone,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&queue_entry)));
+ }
+ break;
+
+ case TYPE_GET_CHANGE_LIST: {
+ drive_service_->GetChangeList(
+ entry->start_changestamp,
+ base::Bind(&DriveScheduler::OnGetResourceListJobDone,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&queue_entry)));
+ }
+ break;
+
+ case TYPE_CONTINUE_GET_RESOURCE_LIST: {
+ drive_service_->ContinueGetResourceList(
+ entry->feed_url,
+ base::Bind(&DriveScheduler::OnGetResourceListJobDone,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&queue_entry)));
+ }
+ break;
+
case TYPE_GET_RESOURCE_ENTRY: {
drive_service_->GetResourceEntry(
entry->resource_id,
@@ -797,6 +916,11 @@ DriveScheduler::QueueType DriveScheduler::GetJobQueueType(JobType type) {
case TYPE_GET_ACCOUNT_METADATA:
case TYPE_GET_APP_LIST:
case TYPE_GET_RESOURCE_LIST:
+ case TYPE_GET_ALL_RESOURCE_LIST:
+ case TYPE_GET_RESOURCE_LIST_IN_DIRECTORY:
+ case TYPE_SEARCH:
+ case TYPE_GET_CHANGE_LIST:
+ case TYPE_CONTINUE_GET_RESOURCE_LIST:
case TYPE_GET_RESOURCE_ENTRY:
case TYPE_DELETE_RESOURCE:
case TYPE_COPY_HOSTED_DOCUMENT:
« 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