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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_worker.h

Issue 328063003: [SyncFS] Migrate SyncWorker::Observer to SyncWorkerInterface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "base/observer_list.h" 13 #include "base/observer_list.h"
14 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h" 14 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h"
15 #include "chrome/browser/sync_file_system/drive_backend/sync_worker_interface.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" 16 #include "chrome/browser/sync_file_system/remote_file_sync_service.h"
17 #include "chrome/browser/sync_file_system/sync_action.h"
18 #include "chrome/browser/sync_file_system/sync_callbacks.h" 17 #include "chrome/browser/sync_file_system/sync_callbacks.h"
19 #include "chrome/browser/sync_file_system/sync_direction.h"
20 #include "chrome/browser/sync_file_system/task_logger.h" 18 #include "chrome/browser/sync_file_system/task_logger.h"
21 #include "net/base/network_change_notifier.h" 19 #include "net/base/network_change_notifier.h"
22 20
23 class ExtensionServiceInterface; 21 class ExtensionServiceInterface;
24 class GURL; 22 class GURL;
25 23
26 namespace base { 24 namespace base {
27 class ListValue; 25 class ListValue;
28 } 26 }
29 27
(...skipping 20 matching lines...) Expand all
50 class LocalToRemoteSyncer; 48 class LocalToRemoteSyncer;
51 class MetadataDatabase; 49 class MetadataDatabase;
52 class RemoteChangeProcessorOnWorker; 50 class RemoteChangeProcessorOnWorker;
53 class RemoteToLocalSyncer; 51 class RemoteToLocalSyncer;
54 class SyncEngineContext; 52 class SyncEngineContext;
55 class SyncEngineInitializer; 53 class SyncEngineInitializer;
56 54
57 class SyncWorker : public SyncWorkerInterface, 55 class SyncWorker : public SyncWorkerInterface,
58 public SyncTaskManager::Client { 56 public SyncTaskManager::Client {
59 public: 57 public:
60 enum AppStatus {
61 APP_STATUS_ENABLED,
62 APP_STATUS_DISABLED,
63 APP_STATUS_UNINSTALLED,
64 };
65
66 typedef base::hash_map<std::string, AppStatus> AppStatusMap;
67
68 class Observer {
69 public:
70 virtual void OnPendingFileListUpdated(int item_count) = 0;
71 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url,
72 SyncFileStatus file_status,
73 SyncAction sync_action,
74 SyncDirection direction) = 0;
75 virtual void UpdateServiceState(RemoteServiceState state,
76 const std::string& description) = 0;
77
78 protected:
79 virtual ~Observer() {}
80 };
81
82 SyncWorker(const base::FilePath& base_dir, 58 SyncWorker(const base::FilePath& base_dir,
83 const base::WeakPtr<ExtensionServiceInterface>& extension_service, 59 const base::WeakPtr<ExtensionServiceInterface>& extension_service,
84 scoped_ptr<SyncEngineContext> sync_engine_context, 60 scoped_ptr<SyncEngineContext> sync_engine_context,
85 leveldb::Env* env_override); 61 leveldb::Env* env_override);
86 62
87 virtual ~SyncWorker(); 63 virtual ~SyncWorker();
88 64
89 virtual void Initialize() OVERRIDE; 65 virtual void Initialize() OVERRIDE;
90 66
91 // SyncTaskManager::Client overrides 67 // SyncTaskManager::Client overrides
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 virtual void OnNetworkChanged( 107 virtual void OnNetworkChanged(
132 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE; 108 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE;
133 109
134 virtual drive::DriveServiceInterface* GetDriveService() OVERRIDE; 110 virtual drive::DriveServiceInterface* GetDriveService() OVERRIDE;
135 virtual drive::DriveUploaderInterface* GetDriveUploader() OVERRIDE; 111 virtual drive::DriveUploaderInterface* GetDriveUploader() OVERRIDE;
136 virtual MetadataDatabase* GetMetadataDatabase() OVERRIDE; 112 virtual MetadataDatabase* GetMetadataDatabase() OVERRIDE;
137 virtual SyncTaskManager* GetSyncTaskManager() OVERRIDE; 113 virtual SyncTaskManager* GetSyncTaskManager() OVERRIDE;
138 114
139 virtual void DetachFromSequence() OVERRIDE; 115 virtual void DetachFromSequence() OVERRIDE;
140 116
141 void AddObserver(Observer* observer); 117 virtual void AddObserver(Observer* observer) OVERRIDE;
142 118
143 private: 119 private:
144 friend class DriveBackendSyncTest; 120 friend class DriveBackendSyncTest;
145 friend class SyncWorkerTest; 121 friend class SyncWorkerTest;
146 122
123 enum AppStatus {
124 APP_STATUS_ENABLED,
125 APP_STATUS_DISABLED,
126 APP_STATUS_UNINSTALLED,
127 };
128
129 typedef base::hash_map<std::string, AppStatus> AppStatusMap;
130
147 // SyncWorkerInterface overrides. 131 // SyncWorkerInterface overrides.
148 // TODO(peria): Remove this interface after making FakeSyncWorker class. 132 // TODO(peria): Remove this interface after making FakeSyncWorker class.
149 virtual void SetHasRefreshToken(bool has_refresh_token) OVERRIDE; 133 virtual void SetHasRefreshToken(bool has_refresh_token) OVERRIDE;
150 134
151 void DoDisableApp(const std::string& app_id, 135 void DoDisableApp(const std::string& app_id,
152 const SyncStatusCallback& callback); 136 const SyncStatusCallback& callback);
153 void DoEnableApp(const std::string& app_id, 137 void DoEnableApp(const std::string& app_id,
154 const SyncStatusCallback& callback); 138 const SyncStatusCallback& callback);
155 139
156 void PostInitializeTask(); 140 void PostInitializeTask();
157 void DidInitialize(SyncEngineInitializer* initializer, 141 void DidInitialize(SyncEngineInitializer* initializer,
158 SyncStatusCode status); 142 SyncStatusCode status);
159 void UpdateRegisteredApps(); 143 void UpdateRegisteredApps();
144 static void QueryAppStatusOnUIThread(
145 const base::WeakPtr<ExtensionServiceInterface>& extension_service_ptr,
146 const std::vector<std::string>* app_ids,
147 AppStatusMap* status,
148 const base::Closure& callback);
160 void DidQueryAppStatus(const AppStatusMap* app_status); 149 void DidQueryAppStatus(const AppStatusMap* app_status);
161 void DidProcessRemoteChange(RemoteToLocalSyncer* syncer, 150 void DidProcessRemoteChange(RemoteToLocalSyncer* syncer,
162 const SyncFileCallback& callback, 151 const SyncFileCallback& callback,
163 SyncStatusCode status); 152 SyncStatusCode status);
164 void DidApplyLocalChange(LocalToRemoteSyncer* syncer, 153 void DidApplyLocalChange(LocalToRemoteSyncer* syncer,
165 const SyncStatusCallback& callback, 154 const SyncStatusCallback& callback,
166 SyncStatusCode status); 155 SyncStatusCode status);
167 156
168 void MaybeStartFetchChanges(); 157 void MaybeStartFetchChanges();
169 void DidResolveConflict(SyncStatusCode status); 158 void DidResolveConflict(SyncStatusCode status);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 base::SequenceChecker sequence_checker_; 191 base::SequenceChecker sequence_checker_;
203 192
204 base::WeakPtrFactory<SyncWorker> weak_ptr_factory_; 193 base::WeakPtrFactory<SyncWorker> weak_ptr_factory_;
205 DISALLOW_COPY_AND_ASSIGN(SyncWorker); 194 DISALLOW_COPY_AND_ASSIGN(SyncWorker);
206 }; 195 };
207 196
208 } // namespace drive_backend 197 } // namespace drive_backend
209 } // namespace sync_file_system 198 } // namespace sync_file_system
210 199
211 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ 200 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698