| OLD | NEW |
| 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 void JobScheduler::CancelAllJobs() { | 185 void JobScheduler::CancelAllJobs() { |
| 186 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 186 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 187 | 187 |
| 188 // CancelJob may remove the entry from |job_map_|. That's OK. IDMap supports | 188 // CancelJob may remove the entry from |job_map_|. That's OK. IDMap supports |
| 189 // removable during iteration. | 189 // removable during iteration. |
| 190 for (JobIDMap::iterator iter(&job_map_); !iter.IsAtEnd(); iter.Advance()) | 190 for (JobIDMap::iterator iter(&job_map_); !iter.IsAtEnd(); iter.Advance()) |
| 191 CancelJob(iter.GetCurrentKey()); | 191 CancelJob(iter.GetCurrentKey()); |
| 192 } | 192 } |
| 193 | 193 |
| 194 void JobScheduler::GetAboutResource( | 194 void JobScheduler::GetAboutResource( |
| 195 const google_apis::GetAboutResourceCallback& callback) { | 195 const google_apis::AboutResourceCallback& callback) { |
| 196 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 196 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 197 DCHECK(!callback.is_null()); | 197 DCHECK(!callback.is_null()); |
| 198 | 198 |
| 199 JobEntry* new_job = CreateNewJob(TYPE_GET_ABOUT_RESOURCE); | 199 JobEntry* new_job = CreateNewJob(TYPE_GET_ABOUT_RESOURCE); |
| 200 new_job->task = base::Bind( | 200 new_job->task = base::Bind( |
| 201 &DriveServiceInterface::GetAboutResource, | 201 &DriveServiceInterface::GetAboutResource, |
| 202 base::Unretained(drive_service_), | 202 base::Unretained(drive_service_), |
| 203 base::Bind(&JobScheduler::OnGetAboutResourceJobDone, | 203 base::Bind(&JobScheduler::OnGetAboutResourceJobDone, |
| 204 weak_ptr_factory_.GetWeakPtr(), | 204 weak_ptr_factory_.GetWeakPtr(), |
| 205 new_job->job_info.job_id, | 205 new_job->job_info.job_id, |
| 206 callback)); | 206 callback)); |
| 207 new_job->abort_callback = google_apis::CreateErrorRunCallback(callback); | 207 new_job->abort_callback = google_apis::CreateErrorRunCallback(callback); |
| 208 StartJob(new_job); | 208 StartJob(new_job); |
| 209 } | 209 } |
| 210 | 210 |
| 211 void JobScheduler::GetAppList( | 211 void JobScheduler::GetAppList(const google_apis::AppListCallback& callback) { |
| 212 const google_apis::GetAppListCallback& callback) { | |
| 213 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 212 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 214 DCHECK(!callback.is_null()); | 213 DCHECK(!callback.is_null()); |
| 215 | 214 |
| 216 JobEntry* new_job = CreateNewJob(TYPE_GET_APP_LIST); | 215 JobEntry* new_job = CreateNewJob(TYPE_GET_APP_LIST); |
| 217 new_job->task = base::Bind( | 216 new_job->task = base::Bind( |
| 218 &DriveServiceInterface::GetAppList, | 217 &DriveServiceInterface::GetAppList, |
| 219 base::Unretained(drive_service_), | 218 base::Unretained(drive_service_), |
| 220 base::Bind(&JobScheduler::OnGetAppListJobDone, | 219 base::Bind(&JobScheduler::OnGetAppListJobDone, |
| 221 weak_ptr_factory_.GetWeakPtr(), | 220 weak_ptr_factory_.GetWeakPtr(), |
| 222 new_job->job_info.job_id, | 221 new_job->job_info.job_id, |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 scoped_ptr<google_apis::ResourceEntry> entry) { | 896 scoped_ptr<google_apis::ResourceEntry> entry) { |
| 898 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 897 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 899 DCHECK(!callback.is_null()); | 898 DCHECK(!callback.is_null()); |
| 900 | 899 |
| 901 if (OnJobDone(job_id, error)) | 900 if (OnJobDone(job_id, error)) |
| 902 callback.Run(error, entry.Pass()); | 901 callback.Run(error, entry.Pass()); |
| 903 } | 902 } |
| 904 | 903 |
| 905 void JobScheduler::OnGetAboutResourceJobDone( | 904 void JobScheduler::OnGetAboutResourceJobDone( |
| 906 JobID job_id, | 905 JobID job_id, |
| 907 const google_apis::GetAboutResourceCallback& callback, | 906 const google_apis::AboutResourceCallback& callback, |
| 908 google_apis::GDataErrorCode error, | 907 google_apis::GDataErrorCode error, |
| 909 scoped_ptr<google_apis::AboutResource> about_resource) { | 908 scoped_ptr<google_apis::AboutResource> about_resource) { |
| 910 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 909 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 911 DCHECK(!callback.is_null()); | 910 DCHECK(!callback.is_null()); |
| 912 | 911 |
| 913 if (OnJobDone(job_id, error)) | 912 if (OnJobDone(job_id, error)) |
| 914 callback.Run(error, about_resource.Pass()); | 913 callback.Run(error, about_resource.Pass()); |
| 915 } | 914 } |
| 916 | 915 |
| 917 void JobScheduler::OnGetShareUrlJobDone( | 916 void JobScheduler::OnGetShareUrlJobDone( |
| 918 JobID job_id, | 917 JobID job_id, |
| 919 const google_apis::GetShareUrlCallback& callback, | 918 const google_apis::GetShareUrlCallback& callback, |
| 920 google_apis::GDataErrorCode error, | 919 google_apis::GDataErrorCode error, |
| 921 const GURL& share_url) { | 920 const GURL& share_url) { |
| 922 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 921 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 923 DCHECK(!callback.is_null()); | 922 DCHECK(!callback.is_null()); |
| 924 | 923 |
| 925 if (OnJobDone(job_id, error)) | 924 if (OnJobDone(job_id, error)) |
| 926 callback.Run(error, share_url); | 925 callback.Run(error, share_url); |
| 927 } | 926 } |
| 928 | 927 |
| 929 void JobScheduler::OnGetAppListJobDone( | 928 void JobScheduler::OnGetAppListJobDone( |
| 930 JobID job_id, | 929 JobID job_id, |
| 931 const google_apis::GetAppListCallback& callback, | 930 const google_apis::AppListCallback& callback, |
| 932 google_apis::GDataErrorCode error, | 931 google_apis::GDataErrorCode error, |
| 933 scoped_ptr<google_apis::AppList> app_list) { | 932 scoped_ptr<google_apis::AppList> app_list) { |
| 934 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 933 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 935 DCHECK(!callback.is_null()); | 934 DCHECK(!callback.is_null()); |
| 936 | 935 |
| 937 if (OnJobDone(job_id, error)) | 936 if (OnJobDone(job_id, error)) |
| 938 callback.Run(error, app_list.Pass()); | 937 callback.Run(error, app_list.Pass()); |
| 939 } | 938 } |
| 940 | 939 |
| 941 void JobScheduler::OnEntryActionJobDone( | 940 void JobScheduler::OnEntryActionJobDone( |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1124 case FILE_QUEUE: | 1123 case FILE_QUEUE: |
| 1125 return "FILE_QUEUE"; | 1124 return "FILE_QUEUE"; |
| 1126 case NUM_QUEUES: | 1125 case NUM_QUEUES: |
| 1127 break; // This value is just a sentinel. Should never be used. | 1126 break; // This value is just a sentinel. Should never be used. |
| 1128 } | 1127 } |
| 1129 NOTREACHED(); | 1128 NOTREACHED(); |
| 1130 return ""; | 1129 return ""; |
| 1131 } | 1130 } |
| 1132 | 1131 |
| 1133 } // namespace drive | 1132 } // namespace drive |
| OLD | NEW |