1 // Copyright 2012 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.
5 #ifndef SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_
6 #define SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_
8 #include "sync/syncable/entry_kernel.h"
9 #include "sync/syncable/syncable_base_transaction.h"
14 // A struct describing the changes made during a transaction.
15 struct WriteTransactionInfo {
16 WriteTransactionInfo(int64 id,
17 tracked_objects::Location location,
19 ImmutableEntryKernelMutationMap mutations);
20 WriteTransactionInfo();
21 ~WriteTransactionInfo();
23 // Caller owns the return value.
24 base::DictionaryValue* ToValue(size_t max_mutations_size) const;
27 // If tracked_objects::Location becomes assignable, we can use that
29 std::string location_string;
31 ImmutableEntryKernelMutationMap mutations;
35 Immutable<WriteTransactionInfo>
36 ImmutableWriteTransactionInfo;
38 } // namespace syncable
41 #endif // SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_