| OLD | NEW |
| 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 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 class LocalToRemoteSyncer; | 41 class LocalToRemoteSyncer; |
| 42 class MetadataDatabase; | 42 class MetadataDatabase; |
| 43 class RemoteToLocalSyncer; | 43 class RemoteToLocalSyncer; |
| 44 class SyncEngineInitializer; | 44 class SyncEngineInitializer; |
| 45 | 45 |
| 46 class SyncEngine : public RemoteFileSyncService, | 46 class SyncEngine : public RemoteFileSyncService, |
| 47 public LocalChangeProcessor, | 47 public LocalChangeProcessor, |
| 48 public SyncTaskManager::Client, | 48 public SyncTaskManager::Client, |
| 49 public drive::DriveNotificationObserver, | 49 public drive::DriveNotificationObserver, |
| 50 public drive::DriveServiceObserver, | 50 public drive::DriveServiceObserver, |
| 51 public net::NetworkChangeNotifier::NetworkChangeObserver, | 51 public net::NetworkChangeNotifier::NetworkChangeObserver { |
| 52 public SyncEngineContext { | |
| 53 public: | 52 public: |
| 54 typedef Observer SyncServiceObserver; | 53 typedef Observer SyncServiceObserver; |
| 55 | 54 |
| 56 static scoped_ptr<SyncEngine> CreateForBrowserContext( | 55 static scoped_ptr<SyncEngine> CreateForBrowserContext( |
| 57 content::BrowserContext* context); | 56 content::BrowserContext* context); |
| 58 static void AppendDependsOnFactories( | 57 static void AppendDependsOnFactories( |
| 59 std::set<BrowserContextKeyedServiceFactory*>* factories); | 58 std::set<BrowserContextKeyedServiceFactory*>* factories); |
| 60 | 59 |
| 61 virtual ~SyncEngine(); | 60 virtual ~SyncEngine(); |
| 62 | 61 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE; | 123 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE; |
| 125 | 124 |
| 126 // drive::DriveServiceObserver overrides. | 125 // drive::DriveServiceObserver overrides. |
| 127 virtual void OnReadyToSendRequests() OVERRIDE; | 126 virtual void OnReadyToSendRequests() OVERRIDE; |
| 128 virtual void OnRefreshTokenInvalid() OVERRIDE; | 127 virtual void OnRefreshTokenInvalid() OVERRIDE; |
| 129 | 128 |
| 130 // net::NetworkChangeNotifier::NetworkChangeObserver overrides. | 129 // net::NetworkChangeNotifier::NetworkChangeObserver overrides. |
| 131 virtual void OnNetworkChanged( | 130 virtual void OnNetworkChanged( |
| 132 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE; | 131 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE; |
| 133 | 132 |
| 134 // SyncEngineContext overrides. | 133 drive::DriveServiceInterface* GetDriveService(); |
| 135 virtual drive::DriveServiceInterface* GetDriveService() OVERRIDE; | 134 drive::DriveUploaderInterface* GetDriveUploader(); |
| 136 virtual drive::DriveUploaderInterface* GetDriveUploader() OVERRIDE; | 135 MetadataDatabase* GetMetadataDatabase(); |
| 137 virtual MetadataDatabase* GetMetadataDatabase() OVERRIDE; | 136 RemoteChangeProcessor* GetRemoteChangeProcessor(); |
| 138 virtual RemoteChangeProcessor* GetRemoteChangeProcessor() OVERRIDE; | 137 base::SequencedTaskRunner* GetBlockingTaskRunner(); |
| 139 virtual base::SequencedTaskRunner* GetBlockingTaskRunner() OVERRIDE; | |
| 140 | 138 |
| 141 private: | 139 private: |
| 142 friend class DriveBackendSyncTest; | 140 friend class DriveBackendSyncTest; |
| 143 friend class SyncEngineTest; | 141 friend class SyncEngineTest; |
| 144 | 142 |
| 145 SyncEngine(const base::FilePath& base_dir, | 143 SyncEngine(const base::FilePath& base_dir, |
| 146 base::SequencedTaskRunner* task_runner, | 144 base::SequencedTaskRunner* task_runner, |
| 147 scoped_ptr<drive::DriveServiceInterface> drive_service, | 145 scoped_ptr<drive::DriveServiceInterface> drive_service, |
| 148 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, | 146 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, |
| 149 drive::DriveNotificationManager* notification_manager, | 147 drive::DriveNotificationManager* notification_manager, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 172 | 170 |
| 173 void UpdateServiceStateFromSyncStatusCode(SyncStatusCode state, | 171 void UpdateServiceStateFromSyncStatusCode(SyncStatusCode state, |
| 174 bool used_network); | 172 bool used_network); |
| 175 void UpdateServiceState(RemoteServiceState state, | 173 void UpdateServiceState(RemoteServiceState state, |
| 176 const std::string& description); | 174 const std::string& description); |
| 177 void UpdateRegisteredApps(); | 175 void UpdateRegisteredApps(); |
| 178 | 176 |
| 179 base::FilePath base_dir_; | 177 base::FilePath base_dir_; |
| 180 base::FilePath temporary_file_dir_; | 178 base::FilePath temporary_file_dir_; |
| 181 | 179 |
| 182 scoped_refptr<base::SequencedTaskRunner> task_runner_; | |
| 183 leveldb::Env* env_override_; | 180 leveldb::Env* env_override_; |
| 184 | 181 |
| 185 scoped_ptr<drive::DriveServiceInterface> drive_service_; | |
| 186 scoped_ptr<drive::DriveUploaderInterface> drive_uploader_; | |
| 187 scoped_ptr<MetadataDatabase> metadata_database_; | |
| 188 | |
| 189 // These external services are not owned by SyncEngine. | 182 // These external services are not owned by SyncEngine. |
| 190 // The owner of the SyncEngine is responsible for their lifetime. | 183 // The owner of the SyncEngine is responsible for their lifetime. |
| 191 // I.e. the owner should declare the dependency explicitly by calling | 184 // I.e. the owner should declare the dependency explicitly by calling |
| 192 // KeyedService::DependsOn(). | 185 // KeyedService::DependsOn(). |
| 193 drive::DriveNotificationManager* notification_manager_; | 186 drive::DriveNotificationManager* notification_manager_; |
| 194 ExtensionServiceInterface* extension_service_; | 187 ExtensionServiceInterface* extension_service_; |
| 195 SigninManagerBase* signin_manager_; | 188 SigninManagerBase* signin_manager_; |
| 196 | 189 |
| 197 ObserverList<SyncServiceObserver> service_observers_; | 190 ObserverList<SyncServiceObserver> service_observers_; |
| 198 ObserverList<FileStatusObserver> file_status_observers_; | 191 ObserverList<FileStatusObserver> file_status_observers_; |
| 199 RemoteChangeProcessor* remote_change_processor_; | |
| 200 | 192 |
| 201 RemoteServiceState service_state_; | 193 RemoteServiceState service_state_; |
| 202 | 194 |
| 203 bool should_check_conflict_; | 195 bool should_check_conflict_; |
| 204 bool should_check_remote_change_; | 196 bool should_check_remote_change_; |
| 205 bool listing_remote_changes_; | 197 bool listing_remote_changes_; |
| 206 base::TimeTicks time_to_check_changes_; | 198 base::TimeTicks time_to_check_changes_; |
| 207 | 199 |
| 208 bool sync_enabled_; | 200 bool sync_enabled_; |
| 209 ConflictResolutionPolicy default_conflict_resolution_policy_; | 201 ConflictResolutionPolicy default_conflict_resolution_policy_; |
| 210 bool network_available_; | 202 bool network_available_; |
| 211 | 203 |
| 212 scoped_ptr<SyncTaskManager> task_manager_; | 204 scoped_ptr<SyncTaskManager> task_manager_; |
| 213 | 205 |
| 206 scoped_ptr<SyncEngineContext> context_; |
| 214 base::WeakPtrFactory<SyncEngine> weak_ptr_factory_; | 207 base::WeakPtrFactory<SyncEngine> weak_ptr_factory_; |
| 215 | 208 |
| 216 DISALLOW_COPY_AND_ASSIGN(SyncEngine); | 209 DISALLOW_COPY_AND_ASSIGN(SyncEngine); |
| 217 }; | 210 }; |
| 218 | 211 |
| 219 } // namespace drive_backend | 212 } // namespace drive_backend |
| 220 } // namespace sync_file_system | 213 } // namespace sync_file_system |
| 221 | 214 |
| 222 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_ | 215 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_H_ |
| OLD | NEW |