Home | History | Annotate | Download | only in syncable
      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