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); |
} |