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 12 ModelNeutralWriteTransaction::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 22 ModelNeutralWriteTransaction::~ModelNeutralWriteTransaction() { 23 directory()->CheckInvariantsOnTransactionClose(this, modified_handles_); 24 HandleUnrecoverableErrorIfSet(); 25 Unlock(); 26 } 27 28 void ModelNeutralWriteTransaction::TrackChangesTo(const EntryKernel* entry) { 29 modified_handles_.insert(entry->ref(META_HANDLE)); 30 } 31 32 } // namespace syncer 33 } // namespace syncable 34