drive_service_on_worker.cc revision 5c02ac1a9c1b504631c0a3d2b6e737b5d738bae1
14c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley// Copyright 2014 The Chromium Authors. All rights reserved.
24c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley// Use of this source code is governed by a BSD-style license that can be
34c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley// found in the LICENSE file.
44c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
54c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h"
64c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
74c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include <string>
84c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
94c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "base/bind.h"
104c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "base/logging.h"
114c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "base/single_thread_task_runner.h"
124c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "chrome/browser/sync_file_system/drive_backend/callback_helper.h"
134c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "chrome/browser/sync_file_system/drive_backend/drive_service_wrapper.h"
144c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "google_apis/drive/drive_api_parser.h"
154c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley#include "google_apis/drive/gdata_wapi_parser.h"
164c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
174c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleynamespace sync_file_system {
184c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleynamespace drive_backend {
194c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
204c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam LangleyDriveServiceOnWorker::DriveServiceOnWorker(
214c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const base::WeakPtr<DriveServiceWrapper>& wrapper,
224c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    base::SingleThreadTaskRunner* ui_task_runner,
234c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    base::SequencedTaskRunner* worker_task_runner)
244c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    : wrapper_(wrapper),
254c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      ui_task_runner_(ui_task_runner),
264c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      worker_task_runner_(worker_task_runner) {}
274c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
284c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam LangleyDriveServiceOnWorker::~DriveServiceOnWorker() {}
294c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
304c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::AddNewDirectory(
314c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& parent_resource_id,
324c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& directory_title,
334c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const AddNewDirectoryOptions& options,
344c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::GetResourceEntryCallback& callback) {
354c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  ui_task_runner_->PostTask(
364c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      FROM_HERE,
374c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      base::Bind(&DriveServiceWrapper::AddNewDirectory,
384c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 wrapper_,
394c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 parent_resource_id,
404c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 directory_title,
414c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 options,
424c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 RelayCallbackToTaskRunner(
434c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
444c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
454c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     callback)));
464c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
474c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  return google_apis::CancelCallback();
484c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley}
494c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
504c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::DeleteResource(
514c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& resource_id,
524c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& etag,
534c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::EntryActionCallback& callback) {
544c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  ui_task_runner_->PostTask(
554c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      FROM_HERE,
564c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      base::Bind(&DriveServiceWrapper::DeleteResource,
574c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 wrapper_,
584c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 resource_id,
594c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 etag,
604c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 RelayCallbackToTaskRunner(
614c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
624c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
634c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     callback)));
644c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
654c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  return google_apis::CancelCallback();
664c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley}
674c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
684c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::DownloadFile(
694c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const base::FilePath& local_cache_path,
704c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& resource_id,
714c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::DownloadActionCallback& download_action_callback,
724c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::GetContentCallback& get_content_callback,
734c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::ProgressCallback& progress_callback) {
744c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  ui_task_runner_->PostTask(
754c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      FROM_HERE,
764c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      base::Bind(&DriveServiceWrapper::DownloadFile,
774c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 wrapper_,
787b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                 local_cache_path,
797b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                 resource_id,
807b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                 RelayCallbackToTaskRunner(
817b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                     worker_task_runner_,
827b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                     FROM_HERE,
837b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin                     download_action_callback),
84eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley                 RelayCallbackToTaskRunner(
854c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
864c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
874c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     get_content_callback),
884c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 RelayCallbackToTaskRunner(
894c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
90eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley                     FROM_HERE,
91eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley                     progress_callback)));
92eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley
934c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  return google_apis::CancelCallback();
944c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley}
954c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
96eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley
97eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::GetAboutResource(
984c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::AboutResourceCallback& callback) {
9913f2710c37291c40e6149f7f1d31384d2c9f25a0David Benjamin  ui_task_runner_->PostTask(
10013f2710c37291c40e6149f7f1d31384d2c9f25a0David Benjamin      FROM_HERE,
10113f2710c37291c40e6149f7f1d31384d2c9f25a0David Benjamin      base::Bind(&DriveServiceWrapper::GetAboutResource,
102eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley                 wrapper_,
103eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley                 RelayCallbackToTaskRunner(
1044c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
105660140206ed32aa217ba3f299debae8d9ac472ecAdam Langley                     FROM_HERE,
106660140206ed32aa217ba3f299debae8d9ac472ecAdam Langley                     callback)));
107660140206ed32aa217ba3f299debae8d9ac472ecAdam Langley
108660140206ed32aa217ba3f299debae8d9ac472ecAdam Langley  return google_apis::CancelCallback();
109f6faa4b7105981ea8f9b29f2b2f7c83fbce1f0c4Adam Langley}
110660140206ed32aa217ba3f299debae8d9ac472ecAdam Langley
1114c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
1124c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::GetChangeList(
1134c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    int64 start_changestamp,
114d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin    const google_apis::GetResourceListCallback& callback) {
115d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin  ui_task_runner_->PostTask(
116d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin      FROM_HERE,
117d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin      base::Bind(&DriveServiceWrapper::GetChangeList,
118d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                 wrapper_,
119d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                 start_changestamp,
120d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                 RelayCallbackToTaskRunner(
121d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                     worker_task_runner_,
122d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                     FROM_HERE,
123d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                     callback)));
124d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin
125d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin  return google_apis::CancelCallback();
126d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin}
1274c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
1287b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamingoogle_apis::CancelCallback DriveServiceOnWorker::GetRemainingChangeList(
1297b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin    const GURL& next_link,
1307b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin    const google_apis::GetResourceListCallback& callback) {
1317b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin  ui_task_runner_->PostTask(
132eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley      FROM_HERE,
1334c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      base::Bind(&DriveServiceWrapper::GetRemainingChangeList,
1344c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 wrapper_,
1354c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 next_link,
1364c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 RelayCallbackToTaskRunner(
1374c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
1384c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
1394c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     callback)));
1404c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
141eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley  return google_apis::CancelCallback();
142eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley}
143eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley
1444c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleystd::string DriveServiceOnWorker::GetRootResourceId() const {
1454c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  NOTREACHED();
1464c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  // This method is expected to be called only on unit tests.
1474c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  return "root";
148eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley}
149eb7d2ed1fe8a33b3e3871502ba7e12efaf94360cAdam Langley
1504c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::GetRemainingFileList(
151d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin    const GURL& next_link,
152d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin    const google_apis::GetResourceListCallback& callback) {
153d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin  ui_task_runner_->PostTask(
1547b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin      FROM_HERE,
1557b35b58ae671ac7da66c3407923c3b032fce22c2David Benjamin      base::Bind(&DriveServiceWrapper::GetRemainingFileList,
156d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                 wrapper_,
157d698f322b58a50ee1acf21a734367d151c154dd1David Benjamin                 next_link,
158ded93581f1674f81faa0dba4b15a842756066ab2Adam Langley                 RelayCallbackToTaskRunner(
159ded93581f1674f81faa0dba4b15a842756066ab2Adam Langley                     worker_task_runner_,
1604c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
1614c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     callback)));
1624c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
1634c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  return google_apis::CancelCallback();
1644c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley}
1654c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
1664c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley
1674c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langleygoogle_apis::CancelCallback DriveServiceOnWorker::GetResourceEntry(
1684c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const std::string& resource_id,
1694c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley    const google_apis::GetResourceEntryCallback& callback) {
1704c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley  ui_task_runner_->PostTask(
1714c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      FROM_HERE,
1724c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley      base::Bind(&DriveServiceWrapper::GetResourceEntry,
1734c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 wrapper_,
1744c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 resource_id,
1754c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                 RelayCallbackToTaskRunner(
1764c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     worker_task_runner_,
1774c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     FROM_HERE,
1784c921e1bbcc1d1cd23848e3b11ab2c9f85ee37eaAdam Langley                     callback)));
179
180  return google_apis::CancelCallback();
181}
182
183google_apis::CancelCallback DriveServiceOnWorker::GetResourceListInDirectory(
184    const std::string& directory_resource_id,
185    const google_apis::GetResourceListCallback& callback) {
186  ui_task_runner_->PostTask(
187      FROM_HERE,
188      base::Bind(&DriveServiceWrapper::GetResourceListInDirectory,
189                 wrapper_,
190                 directory_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::RemoveResourceFromDirectory(
200    const std::string& parent_resource_id,
201    const std::string& resource_id,
202    const google_apis::EntryActionCallback& callback) {
203  ui_task_runner_->PostTask(
204      FROM_HERE,
205      base::Bind(&DriveServiceWrapper::RemoveResourceFromDirectory,
206                 wrapper_,
207                 parent_resource_id,
208                 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::SearchByTitle(
218    const std::string& title,
219    const std::string& directory_resource_id,
220    const google_apis::GetResourceListCallback& callback) {
221  ui_task_runner_->PostTask(
222      FROM_HERE,
223      base::Bind(&DriveServiceWrapper::SearchByTitle,
224                 wrapper_,
225                 title,
226                 directory_resource_id,
227                 RelayCallbackToTaskRunner(
228                     worker_task_runner_,
229                     FROM_HERE,
230                     callback)));
231
232  return google_apis::CancelCallback();
233}
234
235void DriveServiceOnWorker::Initialize(const std::string& account_id) {
236  NOTREACHED();
237}
238
239void DriveServiceOnWorker::AddObserver(drive::DriveServiceObserver* observer) {
240  NOTREACHED();
241}
242
243void DriveServiceOnWorker::RemoveObserver(
244    drive::DriveServiceObserver* observer) {
245  NOTREACHED();
246}
247
248bool DriveServiceOnWorker::CanSendRequest() const {
249  NOTREACHED();
250  return false;
251}
252
253drive::ResourceIdCanonicalizer
254DriveServiceOnWorker::GetResourceIdCanonicalizer() const {
255  NOTREACHED();
256  return drive::ResourceIdCanonicalizer();
257}
258
259bool DriveServiceOnWorker::HasAccessToken() const {
260  NOTREACHED();
261  return false;
262}
263
264void DriveServiceOnWorker::RequestAccessToken(
265    const google_apis::AuthStatusCallback& callback) {
266  NOTREACHED();
267}
268
269bool DriveServiceOnWorker::HasRefreshToken() const {
270  NOTREACHED();
271  return false;
272}
273
274void DriveServiceOnWorker::ClearAccessToken() {
275  NOTREACHED();
276}
277
278void DriveServiceOnWorker::ClearRefreshToken() {
279  NOTREACHED();
280}
281
282google_apis::CancelCallback DriveServiceOnWorker::GetAllResourceList(
283    const google_apis::GetResourceListCallback& callback) {
284  NOTREACHED();
285  return google_apis::CancelCallback();
286}
287
288google_apis::CancelCallback DriveServiceOnWorker::Search(
289    const std::string& search_query,
290    const google_apis::GetResourceListCallback& callback) {
291  NOTREACHED();
292  return google_apis::CancelCallback();
293}
294
295google_apis::CancelCallback DriveServiceOnWorker::GetShareUrl(
296    const std::string& resource_id,
297    const GURL& embed_origin,
298    const google_apis::GetShareUrlCallback& callback) {
299  NOTREACHED();
300  return google_apis::CancelCallback();
301}
302
303google_apis::CancelCallback DriveServiceOnWorker::GetAppList(
304    const google_apis::AppListCallback& callback) {
305  NOTREACHED();
306  return google_apis::CancelCallback();
307}
308
309google_apis::CancelCallback DriveServiceOnWorker::TrashResource(
310    const std::string& resource_id,
311    const google_apis::EntryActionCallback& callback) {
312  NOTREACHED();
313  return google_apis::CancelCallback();
314}
315
316google_apis::CancelCallback DriveServiceOnWorker::CopyResource(
317    const std::string& resource_id,
318    const std::string& parent_resource_id,
319    const std::string& new_title,
320    const base::Time& last_modified,
321    const google_apis::GetResourceEntryCallback& callback) {
322  NOTREACHED();
323  return google_apis::CancelCallback();
324}
325
326google_apis::CancelCallback DriveServiceOnWorker::UpdateResource(
327    const std::string& resource_id,
328    const std::string& parent_resource_id,
329    const std::string& new_title,
330    const base::Time& last_modified,
331    const base::Time& last_viewed_by_me,
332    const google_apis::GetResourceEntryCallback& callback) {
333  NOTREACHED();
334  return google_apis::CancelCallback();
335}
336
337google_apis::CancelCallback DriveServiceOnWorker::RenameResource(
338    const std::string& resource_id,
339    const std::string& new_title,
340    const google_apis::EntryActionCallback& callback) {
341  NOTREACHED();
342  return google_apis::CancelCallback();
343}
344
345google_apis::CancelCallback DriveServiceOnWorker::AddResourceToDirectory(
346    const std::string& parent_resource_id,
347    const std::string& resource_id,
348    const google_apis::EntryActionCallback& callback) {
349  NOTREACHED();
350  return google_apis::CancelCallback();
351}
352
353google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadNewFile(
354    const std::string& content_type,
355    int64 content_length,
356    const std::string& parent_resource_id,
357    const std::string& title,
358    const InitiateUploadNewFileOptions& options,
359    const google_apis::InitiateUploadCallback& callback) {
360  NOTREACHED();
361  return google_apis::CancelCallback();
362}
363
364google_apis::CancelCallback DriveServiceOnWorker::InitiateUploadExistingFile(
365    const std::string& content_type,
366    int64 content_length,
367    const std::string& resource_id,
368    const InitiateUploadExistingFileOptions& options,
369    const google_apis::InitiateUploadCallback& callback) {
370  NOTREACHED();
371  return google_apis::CancelCallback();
372}
373
374google_apis::CancelCallback DriveServiceOnWorker::ResumeUpload(
375    const GURL& upload_url,
376    int64 start_position,
377    int64 end_position,
378    int64 content_length,
379    const std::string& content_type,
380    const base::FilePath& local_file_path,
381    const google_apis::UploadRangeCallback& callback,
382    const google_apis::ProgressCallback& progress_callback) {
383  NOTREACHED();
384  return google_apis::CancelCallback();
385}
386
387google_apis::CancelCallback DriveServiceOnWorker::GetUploadStatus(
388    const GURL& upload_url,
389    int64 content_length,
390    const google_apis::UploadRangeCallback& callback) {
391  NOTREACHED();
392  return google_apis::CancelCallback();
393}
394
395google_apis::CancelCallback DriveServiceOnWorker::AuthorizeApp(
396    const std::string& resource_id,
397    const std::string& app_id,
398    const google_apis::AuthorizeAppCallback& callback) {
399  NOTREACHED();
400  return google_apis::CancelCallback();
401}
402
403google_apis::CancelCallback DriveServiceOnWorker::UninstallApp(
404    const std::string& app_id,
405    const google_apis::EntryActionCallback& callback) {
406  NOTREACHED();
407  return google_apis::CancelCallback();
408}
409
410google_apis::CancelCallback DriveServiceOnWorker::AddPermission(
411    const std::string& resource_id,
412    const std::string& email,
413    google_apis::drive::PermissionRole role,
414    const google_apis::EntryActionCallback& callback) {
415  NOTREACHED();
416  return google_apis::CancelCallback();
417}
418
419}  // namespace drive_backend
420}  // namespace sync_file_system
421