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_