Index: sync/syncable/write_transaction.h |
diff --git a/sync/syncable/write_transaction.h b/sync/syncable/write_transaction.h |
index 17264c4c65e3c883439ca84f202c7d1e5b0af24a..0af308dcae37314213a4f319a84bc8a060fe81fb 100644 |
--- a/sync/syncable/write_transaction.h |
+++ b/sync/syncable/write_transaction.h |
@@ -17,6 +17,12 @@ class WriteTransaction : public BaseTransaction { |
WriteTransaction(const tracked_objects::Location& from_here, |
WriterTag writer, Directory* directory); |
+ // Constructor used for getting back model version after making sync |
+ // API changes to one model. During destruction, |new_model_version| stores |
+ // the new model version if model is changed, or -1 if model is not changed. |
+ WriteTransaction(const tracked_objects::Location& from_here, |
+ Directory* directory, int64* new_model_version); |
+ |
virtual ~WriteTransaction(); |
void SaveOriginal(const EntryKernel* entry); |
@@ -36,10 +42,17 @@ class WriteTransaction : public BaseTransaction { |
ModelTypeSet NotifyTransactionChangingAndEnding( |
const ImmutableEntryKernelMutationMap& mutations); |
+ // Increment versions of the models whose entries are modified and set the |
+ // version on the changed entries. |
+ void UpdateTransactionVersion(const std::vector<int64>& entry_changed); |
+ |
// Only the original fields are filled in until |RecordMutations()|. |
// We use a mutation map instead of a kernel set to avoid copying. |
EntryKernelMutationMap mutations_; |
+ // Not owned. |
+ int64* new_model_version_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WriteTransaction); |
}; |