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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.h

Issue 107743002: Add 'Dump Database' tab to syncfs-internals (only for v2 for now) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 const CreateCallback& callback); 127 const CreateCallback& callback);
128 ~MetadataDatabase(); 128 ~MetadataDatabase();
129 129
130 int64 GetLargestFetchedChangeID() const; 130 int64 GetLargestFetchedChangeID() const;
131 int64 GetSyncRootTrackerID() const; 131 int64 GetSyncRootTrackerID() const;
132 bool HasSyncRoot() const; 132 bool HasSyncRoot() const;
133 133
134 // Returns all file metadata for the given |app_id|. 134 // Returns all file metadata for the given |app_id|.
135 scoped_ptr<base::ListValue> DumpFiles(const std::string& app_id); 135 scoped_ptr<base::ListValue> DumpFiles(const std::string& app_id);
136 136
137 // Returns all database data.
138 scoped_ptr<base::ListValue> DumpDatabase();
139
137 // TODO(tzik): Move GetLargestKnownChangeID() to private section, and hide its 140 // TODO(tzik): Move GetLargestKnownChangeID() to private section, and hide its
138 // handling in the class, instead of letting user do. 141 // handling in the class, instead of letting user do.
139 // 142 //
140 // Gets / updates the largest known change ID. 143 // Gets / updates the largest known change ID.
141 // The largest known change ID is on-memory and not persist over restart. 144 // The largest known change ID is on-memory and not persist over restart.
142 // This is supposed to use when a task fetches ChangeList in parallel to other 145 // This is supposed to use when a task fetches ChangeList in parallel to other
143 // operation. When a task starts fetching paged ChangeList one by one, it 146 // operation. When a task starts fetching paged ChangeList one by one, it
144 // should update the largest known change ID on the first round and background 147 // should update the largest known change ID on the first round and background
145 // remaining fetch job. 148 // remaining fetch job.
146 // Then, when other tasks that update FileMetadata by UpdateByFileResource, 149 // Then, when other tasks that update FileMetadata by UpdateByFileResource,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 bool FindTrackersByParentAndTitle( 222 bool FindTrackersByParentAndTitle(
220 int64 parent_tracker_id, 223 int64 parent_tracker_id,
221 const std::string& title, 224 const std::string& title,
222 TrackerSet* trackers) const; 225 TrackerSet* trackers) const;
223 226
224 // Builds the file path for the given tracker. Returns true on success. 227 // Builds the file path for the given tracker. Returns true on success.
225 // |path| can be NULL. 228 // |path| can be NULL.
226 // The file path is relative to app-root and have a leading path separator. 229 // The file path is relative to app-root and have a leading path separator.
227 bool BuildPathForTracker(int64 tracker_id, base::FilePath* path) const; 230 bool BuildPathForTracker(int64 tracker_id, base::FilePath* path) const;
228 231
232 // Builds the file path for the given tracker for display purpose.
233 // This may return a path ending with '<unknown>' if the given tracker does
234 // not have title information (yet). This may return an empty path.
235 base::FilePath BuildDisplayPathForTracker(const FileTracker& tracker) const;
236
229 // Returns false if no registered app exists associated to |app_id|. 237 // Returns false if no registered app exists associated to |app_id|.
230 // If |full_path| is active, assigns the tracker of |full_path| to |tracker|. 238 // If |full_path| is active, assigns the tracker of |full_path| to |tracker|.
231 // Otherwise, assigns the nearest active ancestor to |full_path| to |tracker|. 239 // Otherwise, assigns the nearest active ancestor to |full_path| to |tracker|.
232 // Also, assigns the full path of |tracker| to |path|. 240 // Also, assigns the full path of |tracker| to |path|.
233 bool FindNearestActiveAncestor(const std::string& app_id, 241 bool FindNearestActiveAncestor(const std::string& app_id,
234 const base::FilePath& full_path, 242 const base::FilePath& full_path,
235 FileTracker* tracker, 243 FileTracker* tracker,
236 base::FilePath* path) const; 244 base::FilePath* path) const;
237 245
238 // Updates database by |changes|. 246 // Updates database by |changes|.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 403
396 void UpdateByFileMetadata(const tracked_objects::Location& from_where, 404 void UpdateByFileMetadata(const tracked_objects::Location& from_where,
397 scoped_ptr<FileMetadata> file, 405 scoped_ptr<FileMetadata> file,
398 leveldb::WriteBatch* batch); 406 leveldb::WriteBatch* batch);
399 407
400 void WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch, 408 void WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch,
401 const SyncStatusCallback& callback); 409 const SyncStatusCallback& callback);
402 410
403 bool HasNewerFileMetadata(const std::string& file_id, int64 change_id); 411 bool HasNewerFileMetadata(const std::string& file_id, int64 change_id);
404 412
413 scoped_ptr<base::ListValue> DumpTrackers();
414 scoped_ptr<base::ListValue> DumpMetadata();
415
405 scoped_refptr<base::SequencedTaskRunner> task_runner_; 416 scoped_refptr<base::SequencedTaskRunner> task_runner_;
406 scoped_ptr<leveldb::DB> db_; 417 scoped_ptr<leveldb::DB> db_;
407 418
408 scoped_ptr<ServiceMetadata> service_metadata_; 419 scoped_ptr<ServiceMetadata> service_metadata_;
409 int64 largest_known_change_id_; 420 int64 largest_known_change_id_;
410 421
411 FileByID file_by_id_; // Owned. 422 FileByID file_by_id_; // Owned.
412 TrackerByID tracker_by_id_; // Owned. 423 TrackerByID tracker_by_id_; // Owned.
413 424
414 // Maps FileID to trackers. The active tracker must be unique per FileID. 425 // Maps FileID to trackers. The active tracker must be unique per FileID.
(...skipping 20 matching lines...) Expand all
435 446
436 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; 447 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_;
437 448
438 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); 449 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase);
439 }; 450 };
440 451
441 } // namespace drive_backend 452 } // namespace drive_backend
442 } // namespace sync_file_system 453 } // namespace sync_file_system
443 454
444 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ 455 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698