| Index: chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h b/chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2108fefdb6a6aee0e29cdbcac180b4a7b1381a17
|
| --- /dev/null
|
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h
|
| @@ -0,0 +1,107 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_INTERFACE_H_
|
| +#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_INTERFACE_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "chrome/browser/sync_file_system/remote_file_sync_service.h"
|
| +#include "chrome/browser/sync_file_system/sync_callbacks.h"
|
| +#include "net/base/network_change_notifier.h"
|
| +
|
| +class GURL;
|
| +
|
| +namespace base {
|
| +class FilePath;
|
| +class ListValue;
|
| +}
|
| +
|
| +namespace drive {
|
| +class DriveServiceInterface;
|
| +class DriveUploaderInterface;
|
| +}
|
| +
|
| +namespace fileapi {
|
| +class FileSystemURL;
|
| +}
|
| +
|
| +namespace sync_file_system {
|
| +
|
| +class FileChange;
|
| +class SyncFileMetadata;
|
| +
|
| +namespace drive_backend {
|
| +
|
| +class MetadataDatabase;
|
| +class RemoteChangeProcessorOnWorker;
|
| +class SyncTaskManager;
|
| +
|
| +class SyncWorkerInterface {
|
| + public:
|
| + virtual ~SyncWorkerInterface() {}
|
| +
|
| + // Initializes SyncWorkerInterface after constructions of some member classes.
|
| + virtual void Initialize() = 0;
|
| +
|
| + // See RemoteFileSyncService for the details.
|
| + virtual void RegisterOrigin(const GURL& origin,
|
| + const SyncStatusCallback& callback) = 0;
|
| + virtual void EnableOrigin(const GURL& origin,
|
| + const SyncStatusCallback& callback) = 0;
|
| + virtual void DisableOrigin(const GURL& origin,
|
| + const SyncStatusCallback& callback) = 0;
|
| + virtual void UninstallOrigin(
|
| + const GURL& origin,
|
| + RemoteFileSyncService::UninstallFlag flag,
|
| + const SyncStatusCallback& callback) = 0;
|
| + virtual void ProcessRemoteChange(const SyncFileCallback& callback) = 0;
|
| + virtual void SetRemoteChangeProcessor(
|
| + RemoteChangeProcessorOnWorker* remote_change_processor_on_worker) = 0;
|
| + virtual RemoteServiceState GetCurrentState() const = 0;
|
| + virtual void GetOriginStatusMap(
|
| + const RemoteFileSyncService::StatusMapCallback& callback) = 0;
|
| + virtual scoped_ptr<base::ListValue> DumpFiles(const GURL& origin) = 0;
|
| + virtual scoped_ptr<base::ListValue> DumpDatabase() = 0;
|
| + virtual void SetSyncEnabled(bool enabled) = 0;
|
| + virtual void PromoteDemotedChanges() = 0;
|
| +
|
| + // See LocalChangeProcessor for the details.
|
| + virtual void ApplyLocalChange(
|
| + const FileChange& local_change,
|
| + const base::FilePath& local_path,
|
| + const SyncFileMetadata& local_metadata,
|
| + const fileapi::FileSystemURL& url,
|
| + const SyncStatusCallback& callback) = 0;
|
| +
|
| + // See drive::DriveNotificationObserver for the details.
|
| + virtual void OnNotificationReceived() = 0;
|
| +
|
| + // See drive::DriveServiceObserver for the details.
|
| + virtual void OnReadyToSendRequests(const std::string& account_id) = 0;
|
| + virtual void OnRefreshTokenInvalid() = 0;
|
| +
|
| + // See net::NetworkChangeNotifier::NetworkChangeObserver for the details.
|
| + virtual void OnNetworkChanged(
|
| + net::NetworkChangeNotifier::ConnectionType type) = 0;
|
| +
|
| + virtual drive::DriveServiceInterface* GetDriveService() = 0;
|
| + virtual drive::DriveUploaderInterface* GetDriveUploader() = 0;
|
| + virtual MetadataDatabase* GetMetadataDatabase() = 0;
|
| + virtual SyncTaskManager* GetSyncTaskManager() = 0;
|
| +
|
| + virtual void DetachFromSequence() = 0;
|
| +
|
| + private:
|
| + friend class SyncEngineTest;
|
| +
|
| + // TODO(peria): Remove this interface after making FakeSyncWorker class.
|
| + virtual void SetHasRefreshToken(bool has_refresh_token) = 0;
|
| +};
|
| +
|
| +} // namespace drive_backend
|
| +} // namespace sync_file_system
|
| +
|
| +#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_INTERFACE_H_
|
|
|