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