| 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 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.
h" | 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.
h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "chrome/browser/drive/drive_api_service.h" | 10 #include "chrome/browser/drive/drive_api_service.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 if (sync_context_->GetMetadataDatabase()) { | 81 if (sync_context_->GetMetadataDatabase()) { |
| 82 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 82 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 83 "[Initialize] Already initialized."); | 83 "[Initialize] Already initialized."); |
| 84 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 84 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
| 85 return; | 85 return; |
| 86 } | 86 } |
| 87 | 87 |
| 88 SyncStatusCode status = SYNC_STATUS_FAILED; | 88 SyncStatusCode status = SYNC_STATUS_FAILED; |
| 89 scoped_ptr<MetadataDatabase> metadata_database = | 89 scoped_ptr<MetadataDatabase> metadata_database = |
| 90 MetadataDatabase::Create(database_path_, env_override_, &status); | 90 MetadataDatabase::Create(database_path_, env_override_, &status); |
| 91 // TODO(tzik): Expand this function. | |
| 92 DidCreateMetadataDatabase(token.Pass(), status, metadata_database.Pass()); | |
| 93 } | |
| 94 | 91 |
| 95 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { | |
| 96 return metadata_database_.Pass(); | |
| 97 } | |
| 98 | |
| 99 void SyncEngineInitializer::DidCreateMetadataDatabase( | |
| 100 scoped_ptr<SyncTaskToken> token, | |
| 101 SyncStatusCode status, | |
| 102 scoped_ptr<MetadataDatabase> instance) { | |
| 103 if (status != SYNC_STATUS_OK) { | 92 if (status != SYNC_STATUS_OK) { |
| 104 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 93 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 105 "[Initialize] Failed to initialize MetadataDatabase."); | 94 "[Initialize] Failed to initialize MetadataDatabase."); |
| 106 SyncTaskManager::NotifyTaskDone(token.Pass(), status); | 95 SyncTaskManager::NotifyTaskDone(token.Pass(), status); |
| 107 return; | 96 return; |
| 108 } | 97 } |
| 109 | 98 |
| 110 DCHECK(instance); | 99 metadata_database_ = metadata_database.Pass(); |
| 111 metadata_database_ = instance.Pass(); | |
| 112 if (metadata_database_->HasSyncRoot()) { | 100 if (metadata_database_->HasSyncRoot()) { |
| 113 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 101 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 114 "[Initialize] Found local cache of sync-root."); | 102 "[Initialize] Found local cache of sync-root."); |
| 115 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 103 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
| 116 return; | 104 return; |
| 117 } | 105 } |
| 118 | 106 |
| 119 GetAboutResource(token.Pass()); | 107 GetAboutResource(token.Pass()); |
| 120 } | 108 } |
| 121 | 109 |
| 110 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { |
| 111 return metadata_database_.Pass(); |
| 112 } |
| 113 |
| 122 void SyncEngineInitializer::GetAboutResource( | 114 void SyncEngineInitializer::GetAboutResource( |
| 123 scoped_ptr<SyncTaskToken> token) { | 115 scoped_ptr<SyncTaskToken> token) { |
| 124 set_used_network(true); | 116 set_used_network(true); |
| 125 sync_context_->GetDriveService()->GetAboutResource( | 117 sync_context_->GetDriveService()->GetAboutResource( |
| 126 base::Bind(&SyncEngineInitializer::DidGetAboutResource, | 118 base::Bind(&SyncEngineInitializer::DidGetAboutResource, |
| 127 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | 119 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
| 128 } | 120 } |
| 129 | 121 |
| 130 void SyncEngineInitializer::DidGetAboutResource( | 122 void SyncEngineInitializer::DidGetAboutResource( |
| 131 scoped_ptr<SyncTaskToken> token, | 123 scoped_ptr<SyncTaskToken> token, |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 } | 333 } |
| 342 | 334 |
| 343 PopulateDatabase(token.Pass()); | 335 PopulateDatabase(token.Pass()); |
| 344 } | 336 } |
| 345 | 337 |
| 346 void SyncEngineInitializer::PopulateDatabase( | 338 void SyncEngineInitializer::PopulateDatabase( |
| 347 scoped_ptr<SyncTaskToken> token) { | 339 scoped_ptr<SyncTaskToken> token) { |
| 348 DCHECK(sync_root_folder_); | 340 DCHECK(sync_root_folder_); |
| 349 SyncStatusCode status = metadata_database_->PopulateInitialData( | 341 SyncStatusCode status = metadata_database_->PopulateInitialData( |
| 350 largest_change_id_, *sync_root_folder_, app_root_folders_); | 342 largest_change_id_, *sync_root_folder_, app_root_folders_); |
| 351 // TODO(tzik): Expand this function. | |
| 352 DidPopulateDatabase(token.Pass(), status); | |
| 353 } | |
| 354 | |
| 355 void SyncEngineInitializer::DidPopulateDatabase( | |
| 356 scoped_ptr<SyncTaskToken> token, | |
| 357 SyncStatusCode status) { | |
| 358 if (status != SYNC_STATUS_OK) { | 343 if (status != SYNC_STATUS_OK) { |
| 359 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 344 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 360 "[Initialize] Failed to populate initial data" | 345 "[Initialize] Failed to populate initial data" |
| 361 " to MetadataDatabase."); | 346 " to MetadataDatabase."); |
| 362 SyncTaskManager::NotifyTaskDone(token.Pass(), status); | 347 SyncTaskManager::NotifyTaskDone(token.Pass(), status); |
| 363 return; | 348 return; |
| 364 } | 349 } |
| 365 | 350 |
| 366 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 351 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 367 "[Initialize] Completed successfully."); | 352 "[Initialize] Completed successfully."); |
| 368 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 353 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
| 369 } | 354 } |
| 370 | 355 |
| 371 } // namespace drive_backend | 356 } // namespace drive_backend |
| 372 } // namespace sync_file_system | 357 } // namespace sync_file_system |
| OLD | NEW |