Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2169)

Unified Diff: chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc

Issue 23618029: [SyncFS] Implement Database initialization part of SyncEngineInitializer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: +DriveAPIService dependency Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698