| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/api/sync_data.h" | 5 #include "chrome/browser/sync/api/sync_data.h" |
| 6 | 6 |
| 7 #include <ostream> |
| 8 |
| 9 #include "base/json/json_writer.h" |
| 10 #include "base/memory/scoped_ptr.h" |
| 11 #include "base/string_number_conversions.h" |
| 12 #include "base/values.h" |
| 7 #include "chrome/browser/sync/internal_api/base_node.h" | 13 #include "chrome/browser/sync/internal_api/base_node.h" |
| 14 #include "chrome/browser/sync/protocol/proto_value_conversions.h" |
| 8 #include "chrome/browser/sync/protocol/sync.pb.h" | 15 #include "chrome/browser/sync/protocol/sync.pb.h" |
| 16 #include "chrome/browser/sync/syncable/model_type.h" |
| 9 | 17 |
| 10 void SyncData::ImmutableSyncEntityTraits::InitializeWrapper( | 18 void SyncData::ImmutableSyncEntityTraits::InitializeWrapper( |
| 11 Wrapper* wrapper) { | 19 Wrapper* wrapper) { |
| 12 *wrapper = new sync_pb::SyncEntity(); | 20 *wrapper = new sync_pb::SyncEntity(); |
| 13 } | 21 } |
| 14 | 22 |
| 15 void SyncData::ImmutableSyncEntityTraits::DestroyWrapper( | 23 void SyncData::ImmutableSyncEntityTraits::DestroyWrapper( |
| 16 Wrapper* wrapper) { | 24 Wrapper* wrapper) { |
| 17 delete *wrapper; | 25 delete *wrapper; |
| 18 } | 26 } |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 } | 103 } |
| 96 | 104 |
| 97 int64 SyncData::GetRemoteId() const { | 105 int64 SyncData::GetRemoteId() const { |
| 98 DCHECK(!IsLocal()); | 106 DCHECK(!IsLocal()); |
| 99 return id_; | 107 return id_; |
| 100 } | 108 } |
| 101 | 109 |
| 102 bool SyncData::IsLocal() const { | 110 bool SyncData::IsLocal() const { |
| 103 return id_ == sync_api::kInvalidId; | 111 return id_ == sync_api::kInvalidId; |
| 104 } | 112 } |
| 113 |
| 114 std::string SyncData::ToString() const { |
| 115 if (!IsValid()) |
| 116 return "<Invalid SyncData>"; |
| 117 |
| 118 std::string type = syncable::ModelTypeToString(GetDataType()); |
| 119 std::string specifics; |
| 120 scoped_ptr<DictionaryValue> value( |
| 121 browser_sync::EntitySpecificsToValue(GetSpecifics())); |
| 122 base::JSONWriter::Write(value.get(), true, &specifics); |
| 123 |
| 124 if (IsLocal()) { |
| 125 return "{ isLocal: true, type: " + type + ", tag: " + GetTag() + |
| 126 ", title: " + GetTitle() + ", specifics: " + specifics + "}"; |
| 127 } |
| 128 |
| 129 std::string id = base::Int64ToString(GetRemoteId()); |
| 130 return "{ isLocal: false, type: " + type + ", specifics: " + specifics + |
| 131 ", id: " + id + "}"; |
| 132 } |
| 133 |
| 134 void PrintTo(const SyncData& sync_data, std::ostream* os) { |
| 135 *os << sync_data.ToString(); |
| 136 } |
| OLD | NEW |