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

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

Issue 324343002: [SyncFS] Support late authentication (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
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_engine.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_ENGINE_H_ 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_ 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
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/drive/drive_notification_observer.h" 14 #include "chrome/browser/drive/drive_notification_observer.h"
15 #include "chrome/browser/drive/drive_service_interface.h" 15 #include "chrome/browser/drive/drive_service_interface.h"
16 #include "chrome/browser/sync_file_system/drive_backend/callback_tracker.h" 16 #include "chrome/browser/sync_file_system/drive_backend/callback_tracker.h"
17 #include "chrome/browser/sync_file_system/local_change_processor.h" 17 #include "chrome/browser/sync_file_system/local_change_processor.h"
18 #include "chrome/browser/sync_file_system/remote_file_sync_service.h" 18 #include "chrome/browser/sync_file_system/remote_file_sync_service.h"
19 #include "chrome/browser/sync_file_system/sync_action.h" 19 #include "chrome/browser/sync_file_system/sync_action.h"
20 #include "chrome/browser/sync_file_system/sync_direction.h" 20 #include "chrome/browser/sync_file_system/sync_direction.h"
21 #include "components/signin/core/browser/signin_manager_base.h"
21 #include "net/base/network_change_notifier.h" 22 #include "net/base/network_change_notifier.h"
22 23
23 class ExtensionServiceInterface; 24 class ExtensionServiceInterface;
24 class ProfileOAuth2TokenService; 25 class ProfileOAuth2TokenService;
25 class SigninManagerBase;
26 26
27 namespace base { 27 namespace base {
28 class SequencedTaskRunner; 28 class SequencedTaskRunner;
29 } 29 }
30 30
31 namespace drive { 31 namespace drive {
32 class DriveServiceInterface; 32 class DriveServiceInterface;
33 class DriveNotificationManager; 33 class DriveNotificationManager;
34 class DriveUploaderInterface; 34 class DriveUploaderInterface;
35 } 35 }
(...skipping 17 matching lines...) Expand all
53 class MetadataDatabase; 53 class MetadataDatabase;
54 class RemoteChangeProcessorOnWorker; 54 class RemoteChangeProcessorOnWorker;
55 class RemoteChangeProcessorWrapper; 55 class RemoteChangeProcessorWrapper;
56 class SyncTaskManager; 56 class SyncTaskManager;
57 class SyncWorkerInterface; 57 class SyncWorkerInterface;
58 58
59 class SyncEngine : public RemoteFileSyncService, 59 class SyncEngine : public RemoteFileSyncService,
60 public LocalChangeProcessor, 60 public LocalChangeProcessor,
61 public drive::DriveNotificationObserver, 61 public drive::DriveNotificationObserver,
62 public drive::DriveServiceObserver, 62 public drive::DriveServiceObserver,
63 public net::NetworkChangeNotifier::NetworkChangeObserver { 63 public net::NetworkChangeNotifier::NetworkChangeObserver,
64 public SigninManagerBase::Observer {
64 public: 65 public:
65 typedef Observer SyncServiceObserver; 66 typedef RemoteFileSyncService::Observer SyncServiceObserver;
66 67
67 static scoped_ptr<SyncEngine> CreateForBrowserContext( 68 static scoped_ptr<SyncEngine> CreateForBrowserContext(
68 content::BrowserContext* context, 69 content::BrowserContext* context,
69 TaskLogger* task_logger); 70 TaskLogger* task_logger);
70 static void AppendDependsOnFactories( 71 static void AppendDependsOnFactories(
71 std::set<BrowserContextKeyedServiceFactory*>* factories); 72 std::set<BrowserContextKeyedServiceFactory*>* factories);
72 73
73 virtual ~SyncEngine(); 74 virtual ~SyncEngine();
74 void Reset(); 75 void Reset();
75 76
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE; 125 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE;
125 126
126 // drive::DriveServiceObserver overrides. 127 // drive::DriveServiceObserver overrides.
127 virtual void OnReadyToSendRequests() OVERRIDE; 128 virtual void OnReadyToSendRequests() OVERRIDE;
128 virtual void OnRefreshTokenInvalid() OVERRIDE; 129 virtual void OnRefreshTokenInvalid() OVERRIDE;
129 130
130 // net::NetworkChangeNotifier::NetworkChangeObserver overrides. 131 // net::NetworkChangeNotifier::NetworkChangeObserver overrides.
131 virtual void OnNetworkChanged( 132 virtual void OnNetworkChanged(
132 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE; 133 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE;
133 134
134 void OnPendingFileListUpdated(int item_count); 135 // SigninManagerBase::Observer overrides.
135 void OnFileStatusChanged(const fileapi::FileSystemURL& url, 136 virtual void GoogleSigninFailed(const GoogleServiceAuthError& error) OVERRIDE;
136 SyncFileStatus file_status, 137 virtual void GoogleSigninSucceeded(const std::string& username,
137 SyncAction sync_action, 138 const std::string& password) OVERRIDE;
138 SyncDirection direction); 139 virtual void GoogleSignedOut(const std::string& username) OVERRIDE;
139 void UpdateServiceState(RemoteServiceState state,
140 const std::string& description);
141 140
142 private: 141 private:
143 class WorkerObserver; 142 class WorkerObserver;
144 143
145 friend class DriveBackendSyncTest; 144 friend class DriveBackendSyncTest;
146 friend class SyncEngineTest; 145 friend class SyncEngineTest;
147 146
148 SyncEngine(base::SingleThreadTaskRunner* ui_task_runner, 147 SyncEngine(base::SingleThreadTaskRunner* ui_task_runner,
149 base::SequencedTaskRunner* worker_task_runner, 148 base::SequencedTaskRunner* worker_task_runner,
150 base::SequencedTaskRunner* file_task_runner, 149 base::SequencedTaskRunner* file_task_runner,
151 base::SequencedTaskRunner* drive_task_runner, 150 base::SequencedTaskRunner* drive_task_runner,
152 const base::FilePath& sync_file_system_dir, 151 const base::FilePath& sync_file_system_dir,
153 TaskLogger* task_logger, 152 TaskLogger* task_logger,
154 drive::DriveNotificationManager* notification_manager, 153 drive::DriveNotificationManager* notification_manager,
155 ExtensionServiceInterface* extension_service, 154 ExtensionServiceInterface* extension_service,
156 SigninManagerBase* signin_manager, 155 SigninManagerBase* signin_manager,
157 ProfileOAuth2TokenService* token_service, 156 ProfileOAuth2TokenService* token_service,
158 net::URLRequestContextGetter* request_context, 157 net::URLRequestContextGetter* request_context,
159 leveldb::Env* env_override); 158 leveldb::Env* env_override);
160 159
160 // Called by WorkerObserver.
161 void OnPendingFileListUpdated(int item_count);
162 void OnFileStatusChanged(const fileapi::FileSystemURL& url,
163 SyncFileStatus file_status,
164 SyncAction sync_action,
165 SyncDirection direction);
166 void UpdateServiceState(RemoteServiceState state,
167 const std::string& description);
168
161 SyncStatusCallback TrackCallback(const SyncStatusCallback& callback); 169 SyncStatusCallback TrackCallback(const SyncStatusCallback& callback);
162 170
163 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; 171 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
164 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; 172 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_;
165 scoped_refptr<base::SequencedTaskRunner> file_task_runner_; 173 scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
166 scoped_refptr<base::SequencedTaskRunner> drive_task_runner_; 174 scoped_refptr<base::SequencedTaskRunner> drive_task_runner_;
167 175
168 const base::FilePath sync_file_system_dir_; 176 const base::FilePath sync_file_system_dir_;
169 TaskLogger* task_logger_; 177 TaskLogger* task_logger_;
170 178
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 CallbackTracker callback_tracker_; 211 CallbackTracker callback_tracker_;
204 212
205 base::WeakPtrFactory<SyncEngine> weak_ptr_factory_; 213 base::WeakPtrFactory<SyncEngine> weak_ptr_factory_;
206 DISALLOW_COPY_AND_ASSIGN(SyncEngine); 214 DISALLOW_COPY_AND_ASSIGN(SyncEngine);
207 }; 215 };
208 216
209 } // namespace drive_backend 217 } // namespace drive_backend
210 } // namespace sync_file_system 218 } // namespace sync_file_system
211 219
212 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_ 220 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_engine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698