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.
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_SYNC_WORKER_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_SYNC_WORKER_H_
11 #include "base/callback.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "base/observer_list.h"
14 #include "base/sequence_checker.h"
15 #include "chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h"
16 #include "chrome/browser/sync_file_system/remote_file_sync_service.h"
17 #include "chrome/browser/sync_file_system/sync_callbacks.h"
18 #include "net/base/network_change_notifier.h"
28 class DriveServiceInterface;
29 class DriveUploaderInterface;
36 namespace sync_file_system {
39 class SyncFileMetadata;
41 namespace drive_backend {
43 class MetadataDatabase;
44 class RemoteChangeProcessorOnWorker;
45 class SyncEngineContext;
46 class SyncTaskManager;
48 class FakeSyncWorker : public SyncWorkerInterface {
51 virtual ~FakeSyncWorker();
53 // SyncWorkerInterface overrides.
54 virtual void Initialize(
55 scoped_ptr<SyncEngineContext> sync_engine_context) OVERRIDE;
56 virtual void RegisterOrigin(const GURL& origin,
57 const SyncStatusCallback& callback) OVERRIDE;
58 virtual void EnableOrigin(const GURL& origin,
59 const SyncStatusCallback& callback) OVERRIDE;
60 virtual void DisableOrigin(const GURL& origin,
61 const SyncStatusCallback& callback) OVERRIDE;
62 virtual void UninstallOrigin(
64 RemoteFileSyncService::UninstallFlag flag,
65 const SyncStatusCallback& callback) OVERRIDE;
66 virtual void ProcessRemoteChange(const SyncFileCallback& callback) OVERRIDE;
67 virtual void SetRemoteChangeProcessor(
68 RemoteChangeProcessorOnWorker* remote_change_processor_on_worker)
70 virtual RemoteServiceState GetCurrentState() const OVERRIDE;
71 virtual void GetOriginStatusMap(
72 const RemoteFileSyncService::StatusMapCallback& callback) OVERRIDE;
73 virtual scoped_ptr<base::ListValue> DumpFiles(const GURL& origin) OVERRIDE;
74 virtual scoped_ptr<base::ListValue> DumpDatabase() OVERRIDE;
75 virtual void SetSyncEnabled(bool enabled) OVERRIDE;
76 virtual void PromoteDemotedChanges(const base::Closure& callback) OVERRIDE;
77 virtual void ApplyLocalChange(const FileChange& local_change,
78 const base::FilePath& local_path,
79 const SyncFileMetadata& local_metadata,
80 const storage::FileSystemURL& url,
81 const SyncStatusCallback& callback) OVERRIDE;
82 virtual void ActivateService(RemoteServiceState service_state,
83 const std::string& description) OVERRIDE;
84 virtual void DeactivateService(const std::string& description) OVERRIDE;
85 virtual void DetachFromSequence() OVERRIDE;
86 virtual void AddObserver(Observer* observer) OVERRIDE;
89 friend class SyncEngineTest;
97 typedef std::map<GURL, AppStatus> StatusMap;
99 void UpdateServiceState(RemoteServiceState state,
100 const std::string& description);
103 StatusMap status_map_;
105 scoped_ptr<SyncEngineContext> sync_engine_context_;
107 ObserverList<Observer> observers_;
108 base::SequenceChecker sequence_checker_;
110 DISALLOW_COPY_AND_ASSIGN(FakeSyncWorker);
113 } // namespace drive_backend
114 } // namespace sync_file_system
116 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_SYNC_WORKER_H_