| Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.h
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.h b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.h
|
| index 72193d19d23f8ca5f651971cd9ffd700a6a82af9..f9423804991e9f4c292cfba614a014bc9d589b99 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.h
|
| +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.h
|
| @@ -13,15 +13,12 @@
|
| #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index_interface.h"
|
| #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h"
|
|
|
| -namespace leveldb {
|
| -class DB;
|
| -}
|
| -
|
| namespace sync_file_system {
|
| namespace drive_backend {
|
|
|
| class FileMetadata;
|
| class FileTracker;
|
| +class LevelDBWrapper;
|
| class ServiceMetadata;
|
| struct DatabaseContents;
|
| // TODO(peria): Migrate implementation of ParentIDAndTitle structure from
|
| @@ -31,8 +28,7 @@ struct ParentIDAndTitle;
|
| // Maintains indexes of MetadataDatabase on disk.
|
| class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| public:
|
| - static scoped_ptr<MetadataDatabaseIndexOnDisk>
|
| - Create(leveldb::DB* db, leveldb::WriteBatch* batch);
|
| + static scoped_ptr<MetadataDatabaseIndexOnDisk> Create(LevelDBWrapper* db);
|
|
|
| virtual ~MetadataDatabaseIndexOnDisk();
|
|
|
| @@ -41,14 +37,10 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| const std::string& file_id, FileMetadata* metadata) const OVERRIDE;
|
| virtual bool GetFileTracker(
|
| int64 tracker_id, FileTracker* tracker) const OVERRIDE;
|
| - virtual void StoreFileMetadata(
|
| - scoped_ptr<FileMetadata> metadata, leveldb::WriteBatch* batch) OVERRIDE;
|
| - virtual void StoreFileTracker(
|
| - scoped_ptr<FileTracker> tracker, leveldb::WriteBatch* batch) OVERRIDE;
|
| - virtual void RemoveFileMetadata(
|
| - const std::string& file_id, leveldb::WriteBatch* batch) OVERRIDE;
|
| - virtual void RemoveFileTracker(
|
| - int64 tracker_id, leveldb::WriteBatch* batch) OVERRIDE;
|
| + virtual void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) OVERRIDE;
|
| + virtual void StoreFileTracker(scoped_ptr<FileTracker> tracker) OVERRIDE;
|
| + virtual void RemoveFileMetadata(const std::string& file_id) OVERRIDE;
|
| + virtual void RemoveFileTracker(int64 tracker_id) OVERRIDE;
|
| virtual TrackerIDSet GetFileTrackerIDsByFileID(
|
| const std::string& file_id) const OVERRIDE;
|
| virtual int64 GetAppRootTracker(const std::string& app_id) const OVERRIDE;
|
| @@ -59,19 +51,15 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| virtual std::string PickMultiTrackerFileID() const OVERRIDE;
|
| virtual ParentIDAndTitle PickMultiBackingFilePath() const OVERRIDE;
|
| virtual int64 PickDirtyTracker() const OVERRIDE;
|
| - virtual void DemoteDirtyTracker(
|
| - int64 tracker_id, leveldb::WriteBatch* batch) OVERRIDE;
|
| + virtual void DemoteDirtyTracker(int64 tracker_id) OVERRIDE;
|
| virtual bool HasDemotedDirtyTracker() const OVERRIDE;
|
| - virtual void PromoteDemotedDirtyTrackers(leveldb::WriteBatch* batch) OVERRIDE;
|
| + virtual void PromoteDemotedDirtyTrackers() OVERRIDE;
|
| virtual size_t CountDirtyTracker() const OVERRIDE;
|
| virtual size_t CountFileMetadata() const OVERRIDE;
|
| virtual size_t CountFileTracker() const OVERRIDE;
|
| - virtual void SetSyncRootTrackerID(int64 sync_root_id,
|
| - leveldb::WriteBatch* batch) const OVERRIDE;
|
| - virtual void SetLargestChangeID(int64 largest_change_id,
|
| - leveldb::WriteBatch* batch) const OVERRIDE;
|
| - virtual void SetNextTrackerID(int64 next_tracker_id,
|
| - leveldb::WriteBatch* batch) const OVERRIDE;
|
| + virtual void SetSyncRootTrackerID(int64 sync_root_id) const OVERRIDE;
|
| + virtual void SetLargestChangeID(int64 largest_change_id) const OVERRIDE;
|
| + virtual void SetNextTrackerID(int64 next_tracker_id) const OVERRIDE;
|
| virtual int64 GetSyncRootTrackerID() const OVERRIDE;
|
| virtual int64 GetLargestChangeID() const OVERRIDE;
|
| virtual int64 GetNextTrackerID() const OVERRIDE;
|
| @@ -80,7 +68,7 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| virtual std::vector<std::string> GetAllMetadataIDs() const OVERRIDE;
|
|
|
| // Builds on-disk indexes from FileTracker entries on disk.
|
| - void BuildTrackerIndexes(leveldb::WriteBatch* batch);
|
| + void BuildTrackerIndexes();
|
|
|
| private:
|
| enum NumEntries {
|
| @@ -89,43 +77,31 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| MULTIPLE, // Two or more entires are found.
|
| };
|
|
|
| - explicit MetadataDatabaseIndexOnDisk(leveldb::DB* db);
|
| + explicit MetadataDatabaseIndexOnDisk(LevelDBWrapper* db);
|
|
|
| // Maintain indexes from AppIDs to tracker IDs.
|
| - void AddToAppIDIndex(const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| + void AddToAppIDIndex(const FileTracker& new_tracker);
|
| void UpdateInAppIDIndex(const FileTracker& old_tracker,
|
| - const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| - void RemoveFromAppIDIndex(const FileTracker& tracker,
|
| - leveldb::WriteBatch* batch);
|
| + const FileTracker& new_tracker);
|
| + void RemoveFromAppIDIndex(const FileTracker& tracker);
|
|
|
| // Maintain indexes from remote file IDs to tracker ID sets.
|
| - void AddToFileIDIndexes(const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| + void AddToFileIDIndexes(const FileTracker& new_tracker);
|
| void UpdateInFileIDIndexes(const FileTracker& old_tracker,
|
| - const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| - void RemoveFromFileIDIndexes(const FileTracker& tracker,
|
| - leveldb::WriteBatch* batch);
|
| + const FileTracker& new_tracker);
|
| + void RemoveFromFileIDIndexes(const FileTracker& tracker);
|
|
|
| // Maintain indexes from path indexes to tracker ID sets
|
| - void AddToPathIndexes(const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| + void AddToPathIndexes(const FileTracker& new_tracker);
|
| void UpdateInPathIndexes(const FileTracker& old_tracker,
|
| - const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| - void RemoveFromPathIndexes(const FileTracker& tracker,
|
| - leveldb::WriteBatch* batch);
|
| + const FileTracker& new_tracker);
|
| + void RemoveFromPathIndexes(const FileTracker& tracker);
|
|
|
| // Maintain dirty tracker IDs.
|
| - void AddToDirtyTrackerIndexes(const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| + void AddToDirtyTrackerIndexes(const FileTracker& new_tracker);
|
| void UpdateInDirtyTrackerIndexes(const FileTracker& old_tracker,
|
| - const FileTracker& new_tracker,
|
| - leveldb::WriteBatch* batch);
|
| - void RemoveFromDirtyTrackerIndexes(const FileTracker& tracker,
|
| - leveldb::WriteBatch* batch);
|
| + const FileTracker& new_tracker);
|
| + void RemoveFromDirtyTrackerIndexes(const FileTracker& tracker);
|
|
|
| // Returns a TrackerIDSet built from IDs which are found with given key
|
| // and key prefix.
|
| @@ -141,32 +117,28 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| void AddToTrackerIDSetWithPrefix(
|
| const std::string& active_tracker_key,
|
| const std::string& key_prefix,
|
| - const FileTracker& tracker,
|
| - leveldb::WriteBatch* batch);
|
| + const FileTracker& tracker);
|
|
|
| // Returns true if |tracker_id| is removed successfully. If no other entries
|
| // are stored with |key_prefix|, the entry for |active_key| is also removed.
|
| bool EraseInTrackerIDSetWithPrefix(
|
| const std::string& active_tracker_key,
|
| const std::string& key_prefix,
|
| - int64 tracker_id,
|
| - leveldb::WriteBatch* batch);
|
| + int64 tracker_id);
|
|
|
| // Adds an entry for |active_key| on DB, if |tracker_id| has an entry with
|
| // |key_prefix|.
|
| void ActivateInTrackerIDSetWithPrefix(
|
| const std::string& active_tracker_key,
|
| const std::string& key_prefix,
|
| - int64 tracker_id,
|
| - leveldb::WriteBatch* batch);
|
| + int64 tracker_id);
|
|
|
| // Removes an entry for |active_key| on DB, if the value of |active_key| key
|
| // is |tracker_id|.
|
| void DeactivateInTrackerIDSetWithPrefix(
|
| const std::string& active_tracker_key,
|
| const std::string& key_prefix,
|
| - int64 tracker_id,
|
| - leveldb::WriteBatch* batch);
|
| + int64 tracker_id);
|
|
|
| // Checks if |db_| has an entry whose key is |key|.
|
| bool DBHasKey(const std::string& key);
|
| @@ -175,7 +147,7 @@ class MetadataDatabaseIndexOnDisk : public MetadataDatabaseIndexInterface {
|
| // Entries for |ignored_id| are not counted in.
|
| NumEntries CountWithPrefix(const std::string& prefix, int64 ignored_id);
|
|
|
| - leveldb::DB* db_; // Not owned.
|
| + LevelDBWrapper* db_; // Not owned.
|
| scoped_ptr<ServiceMetadata> service_metadata_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndexOnDisk);
|
|
|