sync_task.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_TASK_H_ 6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_TASK_H_ 7 8#include "base/memory/scoped_ptr.h" 9#include "chrome/browser/sync_file_system/sync_callbacks.h" 10 11namespace sync_file_system { 12namespace drive_backend { 13 14class SyncTaskToken; 15 16class SyncTask { 17 public: 18 SyncTask() : used_network_(false) {} 19 virtual ~SyncTask() {} 20 virtual void Run(scoped_ptr<SyncTaskToken> token) = 0; 21 22 bool used_network() { return used_network_; } 23 24 protected: 25 void set_used_network(bool used_network) { 26 used_network_ = used_network; 27 } 28 29 private: 30 bool used_network_; 31 32 DISALLOW_COPY_AND_ASSIGN(SyncTask); 33}; 34 35class SequentialSyncTask : public SyncTask { 36 public: 37 virtual void Run(scoped_ptr<SyncTaskToken> token) OVERRIDE FINAL; 38 virtual void RunSequential(const SyncStatusCallback& callback) = 0; 39}; 40 41} // namespace drive_backend 42} // namespace sync_file_system 43 44#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_TASK_H_ 45