| 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..9cefcf19279b4ae2e40efed3046882c1a12f90c8 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 initial folder
|
| + // tree.
|
| +
|
| NOTIMPLEMENTED();
|
| callback.Run(SYNC_STATUS_FAILED);
|
| }
|
|
|