Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 SYNC_SYNCABLE_DIRECTORY_H_ | 5 #ifndef SYNC_SYNCABLE_DIRECTORY_H_ |
| 6 #define SYNC_SYNCABLE_DIRECTORY_H_ | 6 #define SYNC_SYNCABLE_DIRECTORY_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 314 // children. | 314 // children. |
| 315 bool GetChildHandlesById(BaseTransaction*, const Id& parent_id, | 315 bool GetChildHandlesById(BaseTransaction*, const Id& parent_id, |
| 316 ChildHandles* result); | 316 ChildHandles* result); |
| 317 | 317 |
| 318 // Returns the child meta handles (even those for deleted/unlinked | 318 // Returns the child meta handles (even those for deleted/unlinked |
| 319 // nodes) for given meta handle. Clears |result| if there are no | 319 // nodes) for given meta handle. Clears |result| if there are no |
| 320 // children. | 320 // children. |
| 321 bool GetChildHandlesByHandle(BaseTransaction*, int64 handle, | 321 bool GetChildHandlesByHandle(BaseTransaction*, int64 handle, |
| 322 ChildHandles* result); | 322 ChildHandles* result); |
| 323 | 323 |
| 324 // Counts all items under the given node, including the node itself. | |
| 325 int GetTotalNodeCount(BaseTransaction*, EntryKernel* kernel_) const; | |
| 326 | |
| 324 // Returns true iff |id| has children. | 327 // Returns true iff |id| has children. |
| 325 bool HasChildren(BaseTransaction* trans, const Id& id); | 328 bool HasChildren(BaseTransaction* trans, const Id& id); |
| 326 | 329 |
| 327 // Find the first child in the positional ordering under a parent, | 330 // Find the first child in the positional ordering under a parent, |
| 328 // and fill in |*first_child_id| with its id. Fills in a root Id if | 331 // and fill in |*first_child_id| with its id. Fills in a root Id if |
| 329 // parent has no children. Returns true if the first child was | 332 // parent has no children. Returns true if the first child was |
| 330 // successfully found, or false if an error was encountered. | 333 // successfully found, or false if an error was encountered. |
| 331 Id GetFirstChildId(BaseTransaction* trans, const EntryKernel* parent); | 334 Id GetFirstChildId(BaseTransaction* trans, const EntryKernel* parent); |
| 332 | 335 |
| 333 // These functions allow one to fetch the next or previous item under | 336 // These functions allow one to fetch the next or previous item under |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 447 // For new entry creation only | 450 // For new entry creation only |
| 448 bool InsertEntry(WriteTransaction* trans, | 451 bool InsertEntry(WriteTransaction* trans, |
| 449 EntryKernel* entry, ScopedKernelLock* lock); | 452 EntryKernel* entry, ScopedKernelLock* lock); |
| 450 bool InsertEntry(WriteTransaction* trans, EntryKernel* entry); | 453 bool InsertEntry(WriteTransaction* trans, EntryKernel* entry); |
| 451 | 454 |
| 452 // Used by CheckTreeInvariants | 455 // Used by CheckTreeInvariants |
| 453 void GetAllMetaHandles(BaseTransaction* trans, MetahandleSet* result); | 456 void GetAllMetaHandles(BaseTransaction* trans, MetahandleSet* result); |
| 454 bool SafeToPurgeFromMemory(WriteTransaction* trans, | 457 bool SafeToPurgeFromMemory(WriteTransaction* trans, |
| 455 const EntryKernel* const entry) const; | 458 const EntryKernel* const entry) const; |
| 456 | 459 |
| 460 | |
|
Nicolas Zea
2013/05/28 22:12:39
remove extra newline, and period at end of comment
rlarocque
2013/05/29 19:01:13
Done.
| |
| 461 // A helper used by GetTotalNodeCount | |
| 462 void GetTotalNodeCountImpl( | |
| 463 BaseTransaction*, | |
| 464 EntryKernel* kernel_, | |
| 465 std::deque<const OrderedChildSet*>* child_sets) const; | |
| 466 | |
| 457 Directory& operator = (const Directory&); | 467 Directory& operator = (const Directory&); |
| 458 | 468 |
| 459 public: | 469 public: |
| 460 // These contain all items, including IS_DEL items. | 470 // These contain all items, including IS_DEL items. |
| 461 typedef Index<MetahandleIndexer>::Set MetahandlesIndex; | 471 typedef Index<MetahandleIndexer>::Set MetahandlesIndex; |
| 462 typedef Index<IdIndexer>::Set IdsIndex; | 472 typedef Index<IdIndexer>::Set IdsIndex; |
| 463 | 473 |
| 464 // Contains both deleted and existing entries with tags. | 474 // Contains both deleted and existing entries with tags. |
| 465 // We can't store only existing tags because the client would create | 475 // We can't store only existing tags because the client would create |
| 466 // items that had a duplicated ID in the end, resulting in a DB key | 476 // items that had a duplicated ID in the end, resulting in a DB key |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 576 | 586 |
| 577 // Maintain deleted entries not in |kernel_| until it's verified that they | 587 // Maintain deleted entries not in |kernel_| until it's verified that they |
| 578 // are deleted in native models as well. | 588 // are deleted in native models as well. |
| 579 scoped_ptr<DeleteJournal> delete_journal_; | 589 scoped_ptr<DeleteJournal> delete_journal_; |
| 580 }; | 590 }; |
| 581 | 591 |
| 582 } // namespace syncable | 592 } // namespace syncable |
| 583 } // namespace syncer | 593 } // namespace syncer |
| 584 | 594 |
| 585 #endif // SYNC_SYNCABLE_DIRECTORY_H_ | 595 #endif // SYNC_SYNCABLE_DIRECTORY_H_ |
| OLD | NEW |