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

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

Issue 388913005: [SyncFS] Migrate ServiceMetadata from MDDB to MDDBIndex. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for nits Created 6 years, 5 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/drive_backend_util.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/drive_backend_util.cc b/chrome/browser/sync_file_system/drive_backend/drive_backend_util.cc
index ac9d0d0581e26af57b37e233b5c7775045c09e98..05048283e322c64ecd8a0125ae3cb35150eebe94 100644
--- a/chrome/browser/sync_file_system/drive_backend/drive_backend_util.cc
+++ b/chrome/browser/sync_file_system/drive_backend/drive_backend_util.cc
@@ -8,12 +8,14 @@
#include "base/memory/scoped_vector.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
+#include "base/threading/thread_restrictions.h"
#include "chrome/browser/drive/drive_api_util.h"
#include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.h"
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
#include "chrome/browser/sync_file_system/logger.h"
#include "google_apis/drive/drive_api_parser.h"
#include "google_apis/drive/gdata_wapi_parser.h"
+#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h"
namespace sync_file_system {
@@ -21,6 +23,9 @@ namespace drive_backend {
void PutServiceMetadataToBatch(const ServiceMetadata& service_metadata,
leveldb::WriteBatch* batch) {
+ if (!batch)
+ return;
+
std::string value;
bool success = service_metadata.SerializeToString(&value);
DCHECK(success);
@@ -161,5 +166,21 @@ bool RemovePrefix(const std::string& str, const std::string& prefix,
return true;
}
+scoped_ptr<ServiceMetadata> InitializeServiceMetadata(leveldb::DB* db) {
+ base::ThreadRestrictions::AssertIOAllowed();
+ DCHECK(db);
+
+ std::string value;
+ leveldb::Status status = db->Get(leveldb::ReadOptions(),
+ kServiceMetadataKey,
+ &value);
+
+ scoped_ptr<ServiceMetadata> service_metadata(new ServiceMetadata);
+ if (!status.ok() || !service_metadata->ParseFromString(value))
+ service_metadata->set_next_tracker_id(1);
+
+ return service_metadata.Pass();
+}
+
} // namespace drive_backend
} // namespace sync_file_system

Powered by Google App Engine
This is Rietveld 408576698