drive_service_on_worker.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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_.get(), FROM_HERE, callback))); 48 49 return google_apis::CancelCallback(); 50} 51 52google_apis::CancelCallback DriveServiceOnWorker::DeleteResource( 53 const std::string& resource_id, 54 const std::string& etag, 55 const google_apis::EntryActionCallback& callback) { 56 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 57 58 ui_task_runner_->PostTask( 59 FROM_HERE, 60 base::Bind(&DriveServiceWrapper::DeleteResource, 61 wrapper_, 62 resource_id, 63 etag, 64 RelayCallbackToTaskRunner( 65 worker_task_runner_.get(), FROM_HERE, callback))); 66 67 return google_apis::CancelCallback(); 68} 69 70google_apis::CancelCallback DriveServiceOnWorker::DownloadFile( 71 const base::FilePath& local_cache_path, 72 const std::string& resource_id, 73 const google_apis::DownloadActionCallback& download_action_callback, 74 const google_apis::GetContentCallback& get_content_callback, 75 const google_apis::ProgressCallback& progress_callback) { 76 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 77 78 ui_task_runner_->PostTask( 79 FROM_HERE, 80 base::Bind( 81 &DriveServiceWrapper::DownloadFile, 82 wrapper_, 83 local_cache_path, 84 resource_id, 85 RelayCallbackToTaskRunner( 86 worker_task_runner_.get(), FROM_HERE, download_action_callback), 87 RelayCallbackToTaskRunner( 88 worker_task_runner_.get(), FROM_HERE, get_content_callback), 89 RelayCallbackToTaskRunner( 90 worker_task_runner_.get(), FROM_HERE, progress_callback))); 91 92 return google_apis::CancelCallback(); 93} 94 95google_apis::CancelCallback DriveServiceOnWorker::GetAboutResource( 96 const google_apis::AboutResourceCallback& callback) { 97 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 98 99 ui_task_runner_->PostTask( 100 FROM_HERE, 101 base::Bind(&DriveServiceWrapper::GetAboutResource, 102 wrapper_, 103 RelayCallbackToTaskRunner( 104 worker_task_runner_.get(), FROM_HERE, callback))); 105 106 return google_apis::CancelCallback(); 107} 108 109google_apis::CancelCallback DriveServiceOnWorker::GetChangeList( 110 int64 start_changestamp, 111 const google_apis::ChangeListCallback& callback) { 112 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 113 114 ui_task_runner_->PostTask( 115 FROM_HERE, 116 base::Bind(&DriveServiceWrapper::GetChangeList, 117 wrapper_, 118 start_changestamp, 119 RelayCallbackToTaskRunner( 120 worker_task_runner_.get(), FROM_HERE, callback))); 121 122 return google_apis::CancelCallback(); 123} 124 125google_apis::CancelCallback DriveServiceOnWorker::GetRemainingChangeList( 126 const GURL& next_link, 127 const google_apis::ChangeListCallback& callback) { 128 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 129 130 ui_task_runner_->PostTask( 131 FROM_HERE, 132 base::Bind(&DriveServiceWrapper::GetRemainingChangeList, 133 wrapper_, 134 next_link, 135 RelayCallbackToTaskRunner( 136 worker_task_runner_.get(), FROM_HERE, callback))); 137 138 return google_apis::CancelCallback(); 139} 140 141std::string DriveServiceOnWorker::GetRootResourceId() const { 142 NOTREACHED(); 143 // This method is expected to be called only on unit tests. 144 return "root"; 145} 146 147google_apis::CancelCallback DriveServiceOnWorker::GetRemainingFileList( 148 const GURL& next_link, 149 const google_apis::FileListCallback& callback) { 150 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 151 152 ui_task_runner_->PostTask( 153 FROM_HERE, 154 base::Bind(&DriveServiceWrapper::GetRemainingFileList, 155 wrapper_, 156 next_link, 157 RelayCallbackToTaskRunner( 158 worker_task_runner_.get(), FROM_HERE, callback))); 159 160 return google_apis::CancelCallback(); 161} 162 163 164google_apis::CancelCallback DriveServiceOnWorker::GetFileResource( 165 const std::string& resource_id, 166 const google_apis::FileResourceCallback& callback) { 167 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 168 169 ui_task_runner_->PostTask( 170 FROM_HERE, 171 base::Bind(&DriveServiceWrapper::GetFileResource, 172 wrapper_, 173 resource_id, 174 RelayCallbackToTaskRunner( 175 worker_task_runner_.get(), FROM_HERE, callback))); 176 177 return google_apis::CancelCallback(); 178} 179 180google_apis::CancelCallback DriveServiceOnWorker::GetFileListInDirectory( 181 const std::string& directory_resource_id, 182 const google_apis::FileListCallback& callback) { 183 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 184 185 ui_task_runner_->PostTask( 186 FROM_HERE, 187 base::Bind(&DriveServiceWrapper::GetFileListInDirectory, 188 wrapper_, 189 directory_resource_id, 190 RelayCallbackToTaskRunner( 191 worker_task_runner_.get(), FROM_HERE, callback))); 192 193 return google_apis::CancelCallback(); 194} 195 196google_apis::CancelCallback DriveServiceOnWorker::RemoveResourceFromDirectory( 197 const std::string& parent_resource_id, 198 const std::string& resource_id, 199 const google_apis::EntryActionCallback& callback) { 200 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 201 202 ui_task_runner_->PostTask( 203 FROM_HERE, 204 base::Bind(&DriveServiceWrapper::RemoveResourceFromDirectory, 205 wrapper_, 206 parent_resource_id, 207 resource_id, 208 RelayCallbackToTaskRunner( 209 worker_task_runner_.get(), FROM_HERE, callback))); 210 211 return google_apis::CancelCallback(); 212} 213 214google_apis::CancelCallback DriveServiceOnWorker::SearchByTitle( 215 const std::string& title, 216 const std::string& directory_resource_id, 217 const google_apis::FileListCallback& callback) { 218 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 219 220 ui_task_runner_->PostTask( 221 FROM_HERE, 222 base::Bind(&DriveServiceWrapper::SearchByTitle, 223 wrapper_, 224 title, 225 directory_resource_id, 226 RelayCallbackToTaskRunner( 227 worker_task_runner_.get(), FROM_HERE, callback))); 228 229 return google_apis::CancelCallback(); 230} 231 232bool DriveServiceOnWorker::HasRefreshToken() const { 233 NOTREACHED(); 234 return false; 235} 236 237void DriveServiceOnWorker::Initialize(const std::string& account_id) { 238 NOTREACHED(); 239} 240 241void DriveServiceOnWorker::AddObserver(drive::DriveServiceObserver* observer) { 242 NOTREACHED(); 243} 244 245void DriveServiceOnWorker::RemoveObserver( 246 drive::DriveServiceObserver* observer) { 247 NOTREACHED(); 248} 249 250bool DriveServiceOnWorker::CanSendRequest() const { 251 NOTREACHED(); 252 return false; 253} 254 255bool DriveServiceOnWorker::HasAccessToken() const { 256 NOTREACHED(); 257 return false; 258} 259 260void DriveServiceOnWorker::RequestAccessToken( 261 const google_apis::AuthStatusCallback& callback) { 262 NOTREACHED(); 263} 264 265void DriveServiceOnWorker::ClearAccessToken() { 266 NOTREACHED(); 267} 268 269void DriveServiceOnWorker::ClearRefreshToken() { 270 NOTREACHED(); 271} 272 273google_apis::CancelCallback DriveServiceOnWorker::GetAllFileList( 274 const google_apis::FileListCallback& callback) { 275 NOTREACHED(); 276 return google_apis::CancelCallback(); 277} 278 279google_apis::CancelCallback DriveServiceOnWorker::Search( 280 const std::string& search_query, 281 const google_apis::FileListCallback& callback) { 282 NOTREACHED(); 283 return google_apis::CancelCallback(); 284} 285 286google_apis::CancelCallback DriveServiceOnWorker::GetShareUrl( 287 const std::string& resource_id, 288 const GURL& embed_origin, 289 const google_apis::GetShareUrlCallback& callback) { 290 NOTREACHED(); 291 return google_apis::CancelCallback(); 292} 293 294google_apis::CancelCallback DriveServiceOnWorker::GetAppList( 295 const google_apis::AppListCallback& callback) { 296 NOTREACHED(); 297 return google_apis::CancelCallback(); 298} 299 300google_apis::CancelCallback DriveServiceOnWorker::TrashResource( 301 const std::string& resource_id, 302 const google_apis::EntryActionCallback& callback) { 303 NOTREACHED(); 304 return google_apis::CancelCallback(); 305} 306 307google_apis::CancelCallback DriveServiceOnWorker::CopyResource( 308 const std::string& resource_id, 309 const std::string& parent_resource_id, 310 const std::string& new_title, 311 const base::Time& last_modified, 312 const google_apis::FileResourceCallback& callback) { 313 NOTREACHED(); 314 return google_apis::CancelCallback(); 315} 316 317google_apis::CancelCallback DriveServiceOnWorker::UpdateResource( 318 const std::string& resource_id, 319 const std::string& parent_resource_id, 320 const std::string& new_title, 321 const base::Time& last_modified, 322 const base::Time& last_viewed_by_me, 323 const google_apis::FileResourceCallback& callback) { 324 NOTREACHED(); 325 return google_apis::CancelCallback(); 326} 327 328google_apis::CancelCallback DriveServiceOnWorker::AddResourceToDirectory( 329 const std::string& parent_resource_id, 330 const std::string& resource_id, 331 const google_apis::EntryActionCallback& callback) { 332 NOTREACHED(); 333 return google_apis::CancelCallback(); 334} 335 336google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadNewFile( 337 const std::string& content_type, 338 int64 content_length, 339 const std::string& parent_resource_id, 340 const std::string& title, 341 const InitiateUploadNewFileOptions& options, 342 const google_apis::InitiateUploadCallback& callback) { 343 NOTREACHED(); 344 return google_apis::CancelCallback(); 345} 346 347google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadExistingFile( 348 const std::string& content_type, 349 int64 content_length, 350 const std::string& resource_id, 351 const InitiateUploadExistingFileOptions& options, 352 const google_apis::InitiateUploadCallback& callback) { 353 NOTREACHED(); 354 return google_apis::CancelCallback(); 355} 356 357google_apis::CancelCallback DriveServiceOnWorker::ResumeUpload( 358 const GURL& upload_url, 359 int64 start_position, 360 int64 end_position, 361 int64 content_length, 362 const std::string& content_type, 363 const base::FilePath& local_file_path, 364 const google_apis::drive::UploadRangeCallback& callback, 365 const google_apis::ProgressCallback& progress_callback) { 366 NOTREACHED(); 367 return google_apis::CancelCallback(); 368} 369 370google_apis::CancelCallback DriveServiceOnWorker::GetUploadStatus( 371 const GURL& upload_url, 372 int64 content_length, 373 const google_apis::drive::UploadRangeCallback& callback) { 374 NOTREACHED(); 375 return google_apis::CancelCallback(); 376} 377 378google_apis::CancelCallback DriveServiceOnWorker::AuthorizeApp( 379 const std::string& resource_id, 380 const std::string& app_id, 381 const google_apis::AuthorizeAppCallback& callback) { 382 NOTREACHED(); 383 return google_apis::CancelCallback(); 384} 385 386google_apis::CancelCallback DriveServiceOnWorker::UninstallApp( 387 const std::string& app_id, 388 const google_apis::EntryActionCallback& callback) { 389 NOTREACHED(); 390 return google_apis::CancelCallback(); 391} 392 393google_apis::CancelCallback DriveServiceOnWorker::AddPermission( 394 const std::string& resource_id, 395 const std::string& email, 396 google_apis::drive::PermissionRole role, 397 const google_apis::EntryActionCallback& callback) { 398 NOTREACHED(); 399 return google_apis::CancelCallback(); 400} 401 402} // namespace drive_backend 403} // namespace sync_file_system 404