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 |