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 DCHECK(metadata_database); |
111 metadata_database_ = instance.Pass(); | 100 metadata_database_ = metadata_database.Pass(); |
112 if (metadata_database_->HasSyncRoot()) { | 101 if (metadata_database_->HasSyncRoot()) { |
113 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 102 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
114 "[Initialize] Found local cache of sync-root."); | 103 "[Initialize] Found local cache of sync-root."); |
115 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 104 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
116 return; | 105 return; |
117 } | 106 } |
118 | 107 |
119 GetAboutResource(token.Pass()); | 108 GetAboutResource(token.Pass()); |
120 } | 109 } |
121 | 110 |
| 111 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { |
| 112 return metadata_database_.Pass(); |
| 113 } |
| 114 |
122 void SyncEngineInitializer::GetAboutResource( | 115 void SyncEngineInitializer::GetAboutResource( |
123 scoped_ptr<SyncTaskToken> token) { | 116 scoped_ptr<SyncTaskToken> token) { |
124 set_used_network(true); | 117 set_used_network(true); |
125 sync_context_->GetDriveService()->GetAboutResource( | 118 sync_context_->GetDriveService()->GetAboutResource( |
126 base::Bind(&SyncEngineInitializer::DidGetAboutResource, | 119 base::Bind(&SyncEngineInitializer::DidGetAboutResource, |
127 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | 120 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
128 } | 121 } |
129 | 122 |
130 void SyncEngineInitializer::DidGetAboutResource( | 123 void SyncEngineInitializer::DidGetAboutResource( |
131 scoped_ptr<SyncTaskToken> token, | 124 scoped_ptr<SyncTaskToken> token, |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 } | 334 } |
342 | 335 |
343 PopulateDatabase(token.Pass()); | 336 PopulateDatabase(token.Pass()); |
344 } | 337 } |
345 | 338 |
346 void SyncEngineInitializer::PopulateDatabase( | 339 void SyncEngineInitializer::PopulateDatabase( |
347 scoped_ptr<SyncTaskToken> token) { | 340 scoped_ptr<SyncTaskToken> token) { |
348 DCHECK(sync_root_folder_); | 341 DCHECK(sync_root_folder_); |
349 SyncStatusCode status = metadata_database_->PopulateInitialData( | 342 SyncStatusCode status = metadata_database_->PopulateInitialData( |
350 largest_change_id_, *sync_root_folder_, app_root_folders_); | 343 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) { | 344 if (status != SYNC_STATUS_OK) { |
359 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 345 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
360 "[Initialize] Failed to populate initial data" | 346 "[Initialize] Failed to populate initial data" |
361 " to MetadataDatabase."); | 347 " to MetadataDatabase."); |
362 SyncTaskManager::NotifyTaskDone(token.Pass(), status); | 348 SyncTaskManager::NotifyTaskDone(token.Pass(), status); |
363 return; | 349 return; |
364 } | 350 } |
365 | 351 |
366 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 352 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
367 "[Initialize] Completed successfully."); | 353 "[Initialize] Completed successfully."); |
368 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 354 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
369 } | 355 } |
370 | 356 |
371 } // namespace drive_backend | 357 } // namespace drive_backend |
372 } // namespace sync_file_system | 358 } // namespace sync_file_system |
OLD | NEW |