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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 DCHECK(sync_context_->GetDriveService()); | 78 DCHECK(sync_context_->GetDriveService()); |
79 | 79 |
80 // The metadata seems to have been already initialized. Just return with OK. | 80 // The metadata seems to have been already initialized. Just return with OK. |
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 MetadataDatabase::Create( | 88 SyncStatusCode status = SYNC_STATUS_FAILED; |
89 database_path_, | 89 scoped_ptr<MetadataDatabase> metadata_database = |
90 env_override_, | 90 MetadataDatabase::Create(database_path_, env_override_, &status); |
91 base::Bind(&SyncEngineInitializer::DidCreateMetadataDatabase, | 91 // TODO(tzik): Expand this function. |
92 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | 92 DidCreateMetadataDatabase(token.Pass(), status, metadata_database.Pass()); |
93 } | 93 } |
94 | 94 |
95 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { | 95 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { |
96 return metadata_database_.Pass(); | 96 return metadata_database_.Pass(); |
97 } | 97 } |
98 | 98 |
99 void SyncEngineInitializer::DidCreateMetadataDatabase( | 99 void SyncEngineInitializer::DidCreateMetadataDatabase( |
100 scoped_ptr<SyncTaskToken> token, | 100 scoped_ptr<SyncTaskToken> token, |
101 SyncStatusCode status, | 101 SyncStatusCode status, |
102 scoped_ptr<MetadataDatabase> instance) { | 102 scoped_ptr<MetadataDatabase> instance) { |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | 339 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
340 return; | 340 return; |
341 } | 341 } |
342 | 342 |
343 PopulateDatabase(token.Pass()); | 343 PopulateDatabase(token.Pass()); |
344 } | 344 } |
345 | 345 |
346 void SyncEngineInitializer::PopulateDatabase( | 346 void SyncEngineInitializer::PopulateDatabase( |
347 scoped_ptr<SyncTaskToken> token) { | 347 scoped_ptr<SyncTaskToken> token) { |
348 DCHECK(sync_root_folder_); | 348 DCHECK(sync_root_folder_); |
349 metadata_database_->PopulateInitialData( | 349 SyncStatusCode status = metadata_database_->PopulateInitialData( |
350 largest_change_id_, | 350 largest_change_id_, *sync_root_folder_, app_root_folders_); |
351 *sync_root_folder_, | 351 // TODO(tzik): Expand this function. |
352 app_root_folders_, | 352 DidPopulateDatabase(token.Pass(), status); |
353 base::Bind(&SyncEngineInitializer::DidPopulateDatabase, | |
354 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | |
355 } | 353 } |
356 | 354 |
357 void SyncEngineInitializer::DidPopulateDatabase( | 355 void SyncEngineInitializer::DidPopulateDatabase( |
358 scoped_ptr<SyncTaskToken> token, | 356 scoped_ptr<SyncTaskToken> token, |
359 SyncStatusCode status) { | 357 SyncStatusCode status) { |
360 if (status != SYNC_STATUS_OK) { | 358 if (status != SYNC_STATUS_OK) { |
361 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 359 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
362 "[Initialize] Failed to populate initial data" | 360 "[Initialize] Failed to populate initial data" |
363 " to MetadataDatabase."); | 361 " to MetadataDatabase."); |
364 SyncTaskManager::NotifyTaskDone(token.Pass(), status); | 362 SyncTaskManager::NotifyTaskDone(token.Pass(), status); |
365 return; | 363 return; |
366 } | 364 } |
367 | 365 |
368 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 366 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
369 "[Initialize] Completed successfully."); | 367 "[Initialize] Completed successfully."); |
370 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 368 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
371 } | 369 } |
372 | 370 |
373 } // namespace drive_backend | 371 } // namespace drive_backend |
374 } // namespace sync_file_system | 372 } // namespace sync_file_system |
OLD | NEW |