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

Side by Side Diff: sync/syncable/directory.h

Issue 1104423005: Revert of [Sync] Erase sync DB when corrupted (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 unified diff | Download patch
« no previous file with comments | « sync/sync_tests.gypi ('k') | sync/syncable/directory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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 <deque> 8 #include <deque>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 private: 526 private:
527 friend class SyncableDirectoryTest; 527 friend class SyncableDirectoryTest;
528 friend class syncer::TestUserShare; 528 friend class syncer::TestUserShare;
529 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, ManageDeleteJournals); 529 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, ManageDeleteJournals);
530 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, 530 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest,
531 TakeSnapshotGetsAllDirtyHandlesTest); 531 TakeSnapshotGetsAllDirtyHandlesTest);
532 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, 532 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest,
533 TakeSnapshotGetsOnlyDirtyHandlesTest); 533 TakeSnapshotGetsOnlyDirtyHandlesTest);
534 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, 534 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest,
535 TakeSnapshotGetsMetahandlesToPurge); 535 TakeSnapshotGetsMetahandlesToPurge);
536 FRIEND_TEST_ALL_PREFIXES(SyncableDirectoryTest, CatastrophicError);
537 536
538 // You'll notice that some of the methods below are private overloads of the 537 // You'll notice that some of the methods below are private overloads of the
539 // public ones declared above. The general pattern is that the public overload 538 // public ones declared above. The general pattern is that the public overload
540 // constructs a ScopedKernelLock before calling the corresponding private 539 // constructs a ScopedKernelLock before calling the corresponding private
541 // overload with the held ScopedKernelLock. 540 // overload with the held ScopedKernelLock.
542 541
543 virtual EntryKernel* GetEntryByHandle(const ScopedKernelLock& lock, 542 virtual EntryKernel* GetEntryByHandle(const ScopedKernelLock& lock,
544 int64 metahandle); 543 int64 metahandle);
545 544
546 virtual EntryKernel* GetEntryById(const ScopedKernelLock& lock, const Id& id); 545 virtual EntryKernel* GetEntryById(const ScopedKernelLock& lock, const Id& id);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 EntryKernel* entry, 615 EntryKernel* entry,
617 EntryKernelSet* entries_to_journal); 616 EntryKernelSet* entries_to_journal);
618 617
619 // A private version of the public GetMetaHandlesOfType for when you already 618 // A private version of the public GetMetaHandlesOfType for when you already
620 // have a ScopedKernelLock. 619 // have a ScopedKernelLock.
621 void GetMetaHandlesOfType(const ScopedKernelLock& lock, 620 void GetMetaHandlesOfType(const ScopedKernelLock& lock,
622 BaseTransaction* trans, 621 BaseTransaction* trans,
623 ModelType type, 622 ModelType type,
624 std::vector<int64>* result); 623 std::vector<int64>* result);
625 624
626 // Invoked by DirectoryBackingStore when a catastrophic database error is
627 // detected.
628 void OnCatastrophicError();
629
630 // Returns true if the initial sync for |type| has completed. 625 // Returns true if the initial sync for |type| has completed.
631 bool InitialSyncEndedForType(BaseTransaction* trans, ModelType type); 626 bool InitialSyncEndedForType(BaseTransaction* trans, ModelType type);
632 627
633 // Stops sending events to the delegate and the transaction 628 // Stops sending events to the delegate and the transaction
634 // observer. 629 // observer.
635 void Close(); 630 void Close();
636 631
637 // Returns true if the directory had encountered an unrecoverable error. 632 // Returns true if the directory had encountered an unrecoverable error.
638 // Note: Any function in |Directory| that can be called without holding a 633 // Note: Any function in |Directory| that can be called without holding a
639 // transaction need to check if the Directory already has an unrecoverable 634 // transaction need to check if the Directory already has an unrecoverable
(...skipping 11 matching lines...) Expand all
651 // Not owned. 646 // Not owned.
652 NigoriHandler* const nigori_handler_; 647 NigoriHandler* const nigori_handler_;
653 Cryptographer* const cryptographer_; 648 Cryptographer* const cryptographer_;
654 649
655 InvariantCheckLevel invariant_check_level_; 650 InvariantCheckLevel invariant_check_level_;
656 651
657 // Maintain deleted entries not in |kernel_| until it's verified that they 652 // Maintain deleted entries not in |kernel_| until it's verified that they
658 // are deleted in native models as well. 653 // are deleted in native models as well.
659 scoped_ptr<DeleteJournal> delete_journal_; 654 scoped_ptr<DeleteJournal> delete_journal_;
660 655
661 base::WeakPtrFactory<Directory> weak_ptr_factory_;
662
663 DISALLOW_COPY_AND_ASSIGN(Directory); 656 DISALLOW_COPY_AND_ASSIGN(Directory);
664 }; 657 };
665 658
666 } // namespace syncable 659 } // namespace syncable
667 } // namespace syncer 660 } // namespace syncer
668 661
669 #endif // SYNC_SYNCABLE_DIRECTORY_H_ 662 #endif // SYNC_SYNCABLE_DIRECTORY_H_
OLDNEW
« no previous file with comments | « sync/sync_tests.gypi ('k') | sync/syncable/directory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698