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

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

Issue 22909041: Refactor GetAboutRequest and GetApplistRequest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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