Chromium Code Reviews| Index: chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc |
| diff --git a/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc b/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc |
| index b1ff4b0b58750360b7dc567fdf4280337dfd9af1..d37ad87d4f9a7e8d1d4e1de3d5ea2a705bc649d2 100644 |
| --- a/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc |
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc |
| @@ -4,14 +4,22 @@ |
| #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.h" |
| +#include "base/bind.h" |
| #include "base/callback.h" |
| #include "base/logging.h" |
| +#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
| namespace sync_file_system { |
| namespace drive_backend { |
| -SyncEngineInitializer::SyncEngineInitializer() { |
| - NOTIMPLEMENTED(); |
| +SyncEngineInitializer::SyncEngineInitializer( |
| + base::SequencedTaskRunner* task_runner, |
| + drive::DriveAPIService* drive_api, |
| + const base::FilePath& database_path) |
| + : task_runner_(task_runner), |
| + drive_api_(drive_api), |
| + database_path_(database_path), |
| + weak_ptr_factory_(this) { |
| } |
| SyncEngineInitializer::~SyncEngineInitializer() { |
| @@ -19,6 +27,26 @@ SyncEngineInitializer::~SyncEngineInitializer() { |
| } |
| void SyncEngineInitializer::Run(const SyncStatusCallback& callback) { |
| + MetadataDatabase::Create( |
| + task_runner_.get(), database_path_, |
| + base::Bind(&SyncEngineInitializer::DidCreateMetadataDatabase, |
| + weak_ptr_factory_.GetWeakPtr(), callback)); |
| +} |
| + |
| +void SyncEngineInitializer::DidCreateMetadataDatabase( |
| + const SyncStatusCallback& callback, |
| + SyncStatusCode status, |
| + scoped_ptr<MetadataDatabase> instance) { |
| + if (status != SYNC_STATUS_OK) { |
| + callback.Run(status); |
| + return; |
| + } |
| + |
| + metadata_database_ = instance.Pass(); |
| + |
| + // TODO(tzik): Set up sync root and populate database with initail folder |
|
nhiroki
2013/09/05 08:21:00
nit: s/initail/initial
tzik
2013/09/05 08:32:55
Done.
|
| + // tree. |
| + |
| NOTIMPLEMENTED(); |
| callback.Run(SYNC_STATUS_FAILED); |
| } |