| 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 "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 return resources.Pass(); | 70 return resources.Pass(); |
| 71 } | 71 } |
| 72 | 72 |
| 73 // Functions above are for wrapping the access to legacy GData WAPI classes. | 73 // Functions above are for wrapping the access to legacy GData WAPI classes. |
| 74 //////////////////////////////////////////////////////////////////////////////// | 74 //////////////////////////////////////////////////////////////////////////////// |
| 75 | 75 |
| 76 } // namespace | 76 } // namespace |
| 77 | 77 |
| 78 SyncEngineInitializer::SyncEngineInitializer( | 78 SyncEngineInitializer::SyncEngineInitializer( |
| 79 SyncEngineContext* sync_context, | 79 SyncEngineContext* sync_context, |
| 80 base::SequencedTaskRunner* task_runner, | |
| 81 const base::FilePath& database_path, | 80 const base::FilePath& database_path, |
| 82 leveldb::Env* env_override) | 81 leveldb::Env* env_override) |
| 83 : sync_context_(sync_context), | 82 : sync_context_(sync_context), |
| 84 env_override_(env_override), | 83 env_override_(env_override), |
| 85 task_runner_(task_runner), | |
| 86 database_path_(database_path), | 84 database_path_(database_path), |
| 87 find_sync_root_retry_count_(0), | 85 find_sync_root_retry_count_(0), |
| 88 largest_change_id_(0), | 86 largest_change_id_(0), |
| 89 weak_ptr_factory_(this) { | 87 weak_ptr_factory_(this) { |
| 90 DCHECK(sync_context); | 88 DCHECK(sync_context); |
| 91 DCHECK(task_runner); | |
| 92 } | 89 } |
| 93 | 90 |
| 94 SyncEngineInitializer::~SyncEngineInitializer() { | 91 SyncEngineInitializer::~SyncEngineInitializer() { |
| 95 if (!cancel_callback_.is_null()) | 92 if (!cancel_callback_.is_null()) |
| 96 cancel_callback_.Run(); | 93 cancel_callback_.Run(); |
| 97 } | 94 } |
| 98 | 95 |
| 99 void SyncEngineInitializer::RunPreflight(scoped_ptr<SyncTaskToken> token) { | 96 void SyncEngineInitializer::RunPreflight(scoped_ptr<SyncTaskToken> token) { |
| 100 util::Log(logging::LOG_VERBOSE, FROM_HERE, "[Initialize] Start."); | 97 util::Log(logging::LOG_VERBOSE, FROM_HERE, "[Initialize] Start."); |
| 101 DCHECK(sync_context_); | 98 DCHECK(sync_context_); |
| 102 DCHECK(sync_context_->GetDriveService()); | 99 DCHECK(sync_context_->GetDriveService()); |
| 103 | 100 |
| 104 // The metadata seems to have been already initialized. Just return with OK. | 101 // The metadata seems to have been already initialized. Just return with OK. |
| 105 if (sync_context_->GetMetadataDatabase()) { | 102 if (sync_context_->GetMetadataDatabase()) { |
| 106 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 103 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 107 "[Initialize] Already initialized."); | 104 "[Initialize] Already initialized."); |
| 108 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 105 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
| 109 return; | 106 return; |
| 110 } | 107 } |
| 111 | 108 |
| 112 // TODO(tzik): Stop using MessageLoopProxy before moving out from UI thread. | |
| 113 scoped_refptr<base::SequencedTaskRunner> worker_task_runner( | |
| 114 base::MessageLoopProxy::current()); | |
| 115 | |
| 116 MetadataDatabase::Create( | 109 MetadataDatabase::Create( |
| 117 worker_task_runner.get(), | 110 sync_context_->GetWorkerTaskRunner(), |
| 118 task_runner_.get(), database_path_, env_override_, | 111 sync_context_->GetFileTaskRunner(), |
| 112 database_path_, |
| 113 env_override_, |
| 119 base::Bind(&SyncEngineInitializer::DidCreateMetadataDatabase, | 114 base::Bind(&SyncEngineInitializer::DidCreateMetadataDatabase, |
| 120 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); | 115 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
| 121 } | 116 } |
| 122 | 117 |
| 123 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { | 118 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { |
| 124 return metadata_database_.Pass(); | 119 return metadata_database_.Pass(); |
| 125 } | 120 } |
| 126 | 121 |
| 127 void SyncEngineInitializer::DidCreateMetadataDatabase( | 122 void SyncEngineInitializer::DidCreateMetadataDatabase( |
| 128 scoped_ptr<SyncTaskToken> token, | 123 scoped_ptr<SyncTaskToken> token, |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 return; | 393 return; |
| 399 } | 394 } |
| 400 | 395 |
| 401 util::Log(logging::LOG_VERBOSE, FROM_HERE, | 396 util::Log(logging::LOG_VERBOSE, FROM_HERE, |
| 402 "[Initialize] Completed successfully."); | 397 "[Initialize] Completed successfully."); |
| 403 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); | 398 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); |
| 404 } | 399 } |
| 405 | 400 |
| 406 } // namespace drive_backend | 401 } // namespace drive_backend |
| 407 } // namespace sync_file_system | 402 } // namespace sync_file_system |
| OLD | NEW |