write_transaction_info.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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. 4 5#ifndef SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_ 6#define SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_ 7 8#include "sync/syncable/entry_kernel.h" 9#include "sync/syncable/syncable_base_transaction.h" 10 11namespace syncer { 12namespace syncable { 13 14// A struct describing the changes made during a transaction. 15struct WriteTransactionInfo { 16 WriteTransactionInfo(int64 id, 17 tracked_objects::Location location, 18 WriterTag writer, 19 ImmutableEntryKernelMutationMap mutations); 20 WriteTransactionInfo(); 21 ~WriteTransactionInfo(); 22 23 // Caller owns the return value. 24 base::DictionaryValue* ToValue(size_t max_mutations_size) const; 25 26 int64 id; 27 // If tracked_objects::Location becomes assignable, we can use that 28 // instead. 29 std::string location_string; 30 WriterTag writer; 31 ImmutableEntryKernelMutationMap mutations; 32}; 33 34typedef 35 Immutable<WriteTransactionInfo> 36 ImmutableWriteTransactionInfo; 37 38} // namespace syncable 39} // namespace syncer 40 41#endif // SYNC_SYNCABLE_WRITE_TRANSACTION_INFO_H_ 42