1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "sync/syncable/scoped_parent_child_index_updater.h" 6 7 #include "sync/syncable/parent_child_index.h" 8 9 namespace syncer { 10 namespace syncable { 11 ScopedParentChildIndexUpdater(ScopedKernelLock & proof_of_lock,EntryKernel * entry,ParentChildIndex * index)12ScopedParentChildIndexUpdater::ScopedParentChildIndexUpdater( 13 ScopedKernelLock& proof_of_lock, 14 EntryKernel* entry, 15 ParentChildIndex* index) : entry_(entry), index_(index) { 16 if (ParentChildIndex::ShouldInclude(entry_)) { 17 index_->Remove(entry_); 18 } 19 } 20 ~ScopedParentChildIndexUpdater()21ScopedParentChildIndexUpdater::~ScopedParentChildIndexUpdater() { 22 if (ParentChildIndex::ShouldInclude(entry_)) { 23 index_->Insert(entry_); 24 } 25 } 26 27 } // namespace syncer 28 } // namespace syncable 29