drive_service_on_worker.cc revision 5f1c94371a64b3196d4be9466099bb892df9b88e
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h" 6 7#include <string> 8 9#include "base/bind.h" 10#include "base/logging.h" 11#include "base/single_thread_task_runner.h" 12#include "chrome/browser/sync_file_system/drive_backend/callback_helper.h" 13#include "chrome/browser/sync_file_system/drive_backend/drive_service_wrapper.h" 14#include "google_apis/drive/drive_api_parser.h" 15#include "google_apis/drive/gdata_wapi_parser.h" 16 17namespace sync_file_system { 18namespace drive_backend { 19 20DriveServiceOnWorker::DriveServiceOnWorker( 21 const base::WeakPtr<DriveServiceWrapper>& wrapper, 22 base::SingleThreadTaskRunner* ui_task_runner, 23 base::SequencedTaskRunner* worker_task_runner) 24 : wrapper_(wrapper), 25 ui_task_runner_(ui_task_runner), 26 worker_task_runner_(worker_task_runner) { 27 sequence_checker_.DetachFromSequence(); 28} 29 30DriveServiceOnWorker::~DriveServiceOnWorker() {} 31 32google_apis::CancelCallback DriveServiceOnWorker::AddNewDirectory( 33 const std::string& parent_resource_id, 34 const std::string& directory_title, 35 const AddNewDirectoryOptions& options, 36 const google_apis::FileResourceCallback& callback) { 37 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 38 39 ui_task_runner_->PostTask( 40 FROM_HERE, 41 base::Bind(&DriveServiceWrapper::AddNewDirectory, 42 wrapper_, 43 parent_resource_id, 44 directory_title, 45 options, 46 RelayCallbackToTaskRunner( 47 worker_task_runner_, 48 FROM_HERE, 49 callback))); 50 51 return google_apis::CancelCallback(); 52} 53 54google_apis::CancelCallback DriveServiceOnWorker::DeleteResource( 55 const std::string& resource_id, 56 const std::string& etag, 57 const google_apis::EntryActionCallback& callback) { 58 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 59 60 ui_task_runner_->PostTask( 61 FROM_HERE, 62 base::Bind(&DriveServiceWrapper::DeleteResource, 63 wrapper_, 64 resource_id, 65 etag, 66 RelayCallbackToTaskRunner( 67 worker_task_runner_, 68 FROM_HERE, 69 callback))); 70 71 return google_apis::CancelCallback(); 72} 73 74google_apis::CancelCallback DriveServiceOnWorker::DownloadFile( 75 const base::FilePath& local_cache_path, 76 const std::string& resource_id, 77 const google_apis::DownloadActionCallback& download_action_callback, 78 const google_apis::GetContentCallback& get_content_callback, 79 const google_apis::ProgressCallback& progress_callback) { 80 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 81 82 ui_task_runner_->PostTask( 83 FROM_HERE, 84 base::Bind(&DriveServiceWrapper::DownloadFile, 85 wrapper_, 86 local_cache_path, 87 resource_id, 88 RelayCallbackToTaskRunner( 89 worker_task_runner_, 90 FROM_HERE, 91 download_action_callback), 92 RelayCallbackToTaskRunner( 93 worker_task_runner_, 94 FROM_HERE, 95 get_content_callback), 96 RelayCallbackToTaskRunner( 97 worker_task_runner_, 98 FROM_HERE, 99 progress_callback))); 100 101 return google_apis::CancelCallback(); 102} 103 104google_apis::CancelCallback DriveServiceOnWorker::GetAboutResource( 105 const google_apis::AboutResourceCallback& callback) { 106 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 107 108 ui_task_runner_->PostTask( 109 FROM_HERE, 110 base::Bind(&DriveServiceWrapper::GetAboutResource, 111 wrapper_, 112 RelayCallbackToTaskRunner( 113 worker_task_runner_, 114 FROM_HERE, 115 callback))); 116 117 return google_apis::CancelCallback(); 118} 119 120google_apis::CancelCallback DriveServiceOnWorker::GetChangeList( 121 int64 start_changestamp, 122 const google_apis::ChangeListCallback& callback) { 123 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 124 125 ui_task_runner_->PostTask( 126 FROM_HERE, 127 base::Bind(&DriveServiceWrapper::GetChangeList, 128 wrapper_, 129 start_changestamp, 130 RelayCallbackToTaskRunner( 131 worker_task_runner_, 132 FROM_HERE, 133 callback))); 134 135 return google_apis::CancelCallback(); 136} 137 138google_apis::CancelCallback DriveServiceOnWorker::GetRemainingChangeList( 139 const GURL& next_link, 140 const google_apis::ChangeListCallback& callback) { 141 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 142 143 ui_task_runner_->PostTask( 144 FROM_HERE, 145 base::Bind(&DriveServiceWrapper::GetRemainingChangeList, 146 wrapper_, 147 next_link, 148 RelayCallbackToTaskRunner( 149 worker_task_runner_, 150 FROM_HERE, 151 callback))); 152 153 return google_apis::CancelCallback(); 154} 155 156std::string DriveServiceOnWorker::GetRootResourceId() const { 157 NOTREACHED(); 158 // This method is expected to be called only on unit tests. 159 return "root"; 160} 161 162google_apis::CancelCallback DriveServiceOnWorker::GetRemainingFileList( 163 const GURL& next_link, 164 const google_apis::FileListCallback& callback) { 165 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 166 167 ui_task_runner_->PostTask( 168 FROM_HERE, 169 base::Bind(&DriveServiceWrapper::GetRemainingFileList, 170 wrapper_, 171 next_link, 172 RelayCallbackToTaskRunner( 173 worker_task_runner_, 174 FROM_HERE, 175 callback))); 176 177 return google_apis::CancelCallback(); 178} 179 180 181google_apis::CancelCallback DriveServiceOnWorker::GetFileResource( 182 const std::string& resource_id, 183 const google_apis::FileResourceCallback& callback) { 184 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 185 186 ui_task_runner_->PostTask( 187 FROM_HERE, 188 base::Bind(&DriveServiceWrapper::GetFileResource, 189 wrapper_, 190 resource_id, 191 RelayCallbackToTaskRunner( 192 worker_task_runner_, 193 FROM_HERE, 194 callback))); 195 196 return google_apis::CancelCallback(); 197} 198 199google_apis::CancelCallback DriveServiceOnWorker::GetFileListInDirectory( 200 const std::string& directory_resource_id, 201 const google_apis::FileListCallback& callback) { 202 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 203 204 ui_task_runner_->PostTask( 205 FROM_HERE, 206 base::Bind(&DriveServiceWrapper::GetFileListInDirectory, 207 wrapper_, 208 directory_resource_id, 209 RelayCallbackToTaskRunner( 210 worker_task_runner_, 211 FROM_HERE, 212 callback))); 213 214 return google_apis::CancelCallback(); 215} 216 217google_apis::CancelCallback DriveServiceOnWorker::RemoveResourceFromDirectory( 218 const std::string& parent_resource_id, 219 const std::string& resource_id, 220 const google_apis::EntryActionCallback& callback) { 221 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 222 223 ui_task_runner_->PostTask( 224 FROM_HERE, 225 base::Bind(&DriveServiceWrapper::RemoveResourceFromDirectory, 226 wrapper_, 227 parent_resource_id, 228 resource_id, 229 RelayCallbackToTaskRunner( 230 worker_task_runner_, 231 FROM_HERE, 232 callback))); 233 234 return google_apis::CancelCallback(); 235} 236 237google_apis::CancelCallback DriveServiceOnWorker::SearchByTitle( 238 const std::string& title, 239 const std::string& directory_resource_id, 240 const google_apis::FileListCallback& callback) { 241 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 242 243 ui_task_runner_->PostTask( 244 FROM_HERE, 245 base::Bind(&DriveServiceWrapper::SearchByTitle, 246 wrapper_, 247 title, 248 directory_resource_id, 249 RelayCallbackToTaskRunner( 250 worker_task_runner_, 251 FROM_HERE, 252 callback))); 253 254 return google_apis::CancelCallback(); 255} 256 257bool DriveServiceOnWorker::HasRefreshToken() const { 258 NOTREACHED(); 259 return false; 260} 261 262void DriveServiceOnWorker::Initialize(const std::string& account_id) { 263 NOTREACHED(); 264} 265 266void DriveServiceOnWorker::AddObserver(drive::DriveServiceObserver* observer) { 267 NOTREACHED(); 268} 269 270void DriveServiceOnWorker::RemoveObserver( 271 drive::DriveServiceObserver* observer) { 272 NOTREACHED(); 273} 274 275bool DriveServiceOnWorker::CanSendRequest() const { 276 NOTREACHED(); 277 return false; 278} 279 280bool DriveServiceOnWorker::HasAccessToken() const { 281 NOTREACHED(); 282 return false; 283} 284 285void DriveServiceOnWorker::RequestAccessToken( 286 const google_apis::AuthStatusCallback& callback) { 287 NOTREACHED(); 288} 289 290void DriveServiceOnWorker::ClearAccessToken() { 291 NOTREACHED(); 292} 293 294void DriveServiceOnWorker::ClearRefreshToken() { 295 NOTREACHED(); 296} 297 298google_apis::CancelCallback DriveServiceOnWorker::GetAllFileList( 299 const google_apis::FileListCallback& callback) { 300 NOTREACHED(); 301 return google_apis::CancelCallback(); 302} 303 304google_apis::CancelCallback DriveServiceOnWorker::Search( 305 const std::string& search_query, 306 const google_apis::FileListCallback& callback) { 307 NOTREACHED(); 308 return google_apis::CancelCallback(); 309} 310 311google_apis::CancelCallback DriveServiceOnWorker::GetShareUrl( 312 const std::string& resource_id, 313 const GURL& embed_origin, 314 const google_apis::GetShareUrlCallback& callback) { 315 NOTREACHED(); 316 return google_apis::CancelCallback(); 317} 318 319google_apis::CancelCallback DriveServiceOnWorker::GetAppList( 320 const google_apis::AppListCallback& callback) { 321 NOTREACHED(); 322 return google_apis::CancelCallback(); 323} 324 325google_apis::CancelCallback DriveServiceOnWorker::TrashResource( 326 const std::string& resource_id, 327 const google_apis::EntryActionCallback& callback) { 328 NOTREACHED(); 329 return google_apis::CancelCallback(); 330} 331 332google_apis::CancelCallback DriveServiceOnWorker::CopyResource( 333 const std::string& resource_id, 334 const std::string& parent_resource_id, 335 const std::string& new_title, 336 const base::Time& last_modified, 337 const google_apis::FileResourceCallback& callback) { 338 NOTREACHED(); 339 return google_apis::CancelCallback(); 340} 341 342google_apis::CancelCallback DriveServiceOnWorker::UpdateResource( 343 const std::string& resource_id, 344 const std::string& parent_resource_id, 345 const std::string& new_title, 346 const base::Time& last_modified, 347 const base::Time& last_viewed_by_me, 348 const google_apis::FileResourceCallback& callback) { 349 NOTREACHED(); 350 return google_apis::CancelCallback(); 351} 352 353google_apis::CancelCallback DriveServiceOnWorker::AddResourceToDirectory( 354 const std::string& parent_resource_id, 355 const std::string& resource_id, 356 const google_apis::EntryActionCallback& callback) { 357 NOTREACHED(); 358 return google_apis::CancelCallback(); 359} 360 361google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadNewFile( 362 const std::string& content_type, 363 int64 content_length, 364 const std::string& parent_resource_id, 365 const std::string& title, 366 const InitiateUploadNewFileOptions& options, 367 const google_apis::InitiateUploadCallback& callback) { 368 NOTREACHED(); 369 return google_apis::CancelCallback(); 370} 371 372google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadExistingFile( 373 const std::string& content_type, 374 int64 content_length, 375 const std::string& resource_id, 376 const InitiateUploadExistingFileOptions& options, 377 const google_apis::InitiateUploadCallback& callback) { 378 NOTREACHED(); 379 return google_apis::CancelCallback(); 380} 381 382google_apis::CancelCallback DriveServiceOnWorker::ResumeUpload( 383 const GURL& upload_url, 384 int64 start_position, 385 int64 end_position, 386 int64 content_length, 387 const std::string& content_type, 388 const base::FilePath& local_file_path, 389 const google_apis::drive::UploadRangeCallback& callback, 390 const google_apis::ProgressCallback& progress_callback) { 391 NOTREACHED(); 392 return google_apis::CancelCallback(); 393} 394 395google_apis::CancelCallback DriveServiceOnWorker::GetUploadStatus( 396 const GURL& upload_url, 397 int64 content_length, 398 const google_apis::drive::UploadRangeCallback& callback) { 399 NOTREACHED(); 400 return google_apis::CancelCallback(); 401} 402 403google_apis::CancelCallback DriveServiceOnWorker::AuthorizeApp( 404 const std::string& resource_id, 405 const std::string& app_id, 406 const google_apis::AuthorizeAppCallback& callback) { 407 NOTREACHED(); 408 return google_apis::CancelCallback(); 409} 410 411google_apis::CancelCallback DriveServiceOnWorker::UninstallApp( 412 const std::string& app_id, 413 const google_apis::EntryActionCallback& callback) { 414 NOTREACHED(); 415 return google_apis::CancelCallback(); 416} 417 418google_apis::CancelCallback DriveServiceOnWorker::AddPermission( 419 const std::string& resource_id, 420 const std::string& email, 421 google_apis::drive::PermissionRole role, 422 const google_apis::EntryActionCallback& callback) { 423 NOTREACHED(); 424 return google_apis::CancelCallback(); 425} 426 427} // namespace drive_backend 428} // namespace sync_file_system 429