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