Chromium Code Reviews| 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..4f151b0a1d2bda426bc61e50d3e8c066ea64531c |
| --- /dev/null |
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h |
| @@ -0,0 +1,98 @@ |
| +// 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/files/file_path.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/values.h" |
| +#include "chrome/browser/sync_file_system/file_change.h" |
| +#include "chrome/browser/sync_file_system/remote_file_sync_service.h" |
| +#include "chrome/browser/sync_file_system/sync_callbacks.h" |
| +#include "chrome/browser/sync_file_system/sync_file_metadata.h" |
| +#include "net/base/network_change_notifier.h" |
| +#include "url/gurl.h" |
| +#include "webkit/browser/fileapi/file_system_url.h" |
|
tzik
2014/06/09 08:04:23
Forward declarations seem to be able to replace so
peria
2014/06/10 04:31:08
Done.
|
| + |
| +namespace drive { |
| +class DriveServiceInterface; |
| +class DriveUploaderInterface; |
| +} |
| + |
| +namespace sync_file_system { |
| +namespace drive_backend { |
| + |
| +class MetadataDatabase; |
| +class RemoteChangeProcessorOnWorker; |
| +class SyncTaskManager; |
| + |
| +class SyncWorkerInterface { |
| + public: |
| + virtual ~SyncWorkerInterface() {} |
| + |
| + // Initialize SyncWorkerInterface after constructions of some member classes. |
|
nhiroki
2014/06/10 04:00:48
nit: s/Initialize/Initializes/
peria
2014/06/10 04:31:07
Done.
|
| + 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_ |