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 3 // found in the LICENSE file. 4 5 #include "sync/syncable/syncable_model_neutral_write_transaction.h" 6 7 #include "sync/syncable/directory.h" 8 9 namespace syncer { 10 namespace syncable { 11 ModelNeutralWriteTransaction(const tracked_objects::Location & location,WriterTag writer,Directory * directory)12ModelNeutralWriteTransaction::ModelNeutralWriteTransaction( 13 const tracked_objects::Location& location, 14 WriterTag writer, Directory* directory) 15 : BaseWriteTransaction(location, 16 "ModelNeutralWriteTransaction", 17 writer, 18 directory) { 19 Lock(); 20 } 21 ~ModelNeutralWriteTransaction()22ModelNeutralWriteTransaction::~ModelNeutralWriteTransaction() { 23 directory()->CheckInvariantsOnTransactionClose(this, modified_handles_); 24 HandleUnrecoverableErrorIfSet(); 25 Unlock(); 26 } 27 TrackChangesTo(const EntryKernel * entry)28void ModelNeutralWriteTransaction::TrackChangesTo(const EntryKernel* entry) { 29 modified_handles_.insert(entry->ref(META_HANDLE)); 30 } 31 32 } // namespace syncer 33 } // namespace syncable 34