Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8178)

Unified Diff: chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h

Issue 318353002: [SyncFS] Create SyncWorkerInterface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix build errors Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/sync_worker.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/sync_worker.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698