Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
index fad58f9a6cb77e23e16983eae1de451cb335d023..0f568a53cb79265d2f4bbe54ff37ca9d92e93328 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
@@ -142,12 +142,27 @@ std::string GenerateDemotedDirtyIDKey(int64 tracker_id) { |
} // namespace |
-MetadataDatabaseIndexOnDisk::MetadataDatabaseIndexOnDisk(leveldb::DB* db) |
- : db_(db) { |
- // TODO(peria): Add UMA to measure the number of FileMetadata, FileTracker, |
- // and AppRootId. |
- // TODO(peria): If the DB version is 3, build up index lists. |
- // TODO(peria): Read service metadata from DB. |
+// static |
+scoped_ptr<MetadataDatabaseIndexOnDisk> |
+MetadataDatabaseIndexOnDisk::Create( |
+ leveldb::DB* db, leveldb::WriteBatch* batch) { |
+ DCHECK(db); |
+ DCHECK(batch); |
+ |
+ WriteVersionInfo(kDatabaseOnDiskVersion, batch); |
+ scoped_ptr<MetadataDatabaseIndexOnDisk> |
+ index(new MetadataDatabaseIndexOnDisk(db)); |
+ return index.Pass(); |
+} |
+ |
+// static |
+scoped_ptr<MetadataDatabaseIndexOnDisk> |
+MetadataDatabaseIndexOnDisk::CreateForTesting(leveldb::DB* db) { |
nhiroki
2014/07/16 04:14:49
How about like this?
1) Making Create() and Write
peria
2014/07/16 04:26:07
Good suggestion.
Done.
|
+ DCHECK(db); |
+ |
+ scoped_ptr<MetadataDatabaseIndexOnDisk> |
+ index(new MetadataDatabaseIndexOnDisk(db)); |
+ return index.Pass(); |
} |
MetadataDatabaseIndexOnDisk::~MetadataDatabaseIndexOnDisk() {} |
@@ -552,6 +567,14 @@ MetadataDatabaseIndexOnDisk::GetAllMetadataIDs() const { |
return file_ids; |
} |
+MetadataDatabaseIndexOnDisk::MetadataDatabaseIndexOnDisk(leveldb::DB* db) |
+ : db_(db) { |
+ // TODO(peria): Add UMA to measure the number of FileMetadata, FileTracker, |
+ // and AppRootId. |
+ // TODO(peria): If the DB version is 3, build up index lists. |
+ service_metadata_ = InitializeServiceMetadata(db_); |
+} |
+ |
void MetadataDatabaseIndexOnDisk::AddToAppIDIndex( |
const FileTracker& tracker, leveldb::WriteBatch* batch) { |
if (!IsAppRoot(tracker)) { |