| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 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 | 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 "sync/syncable/entry.h" | 5 #include "sync/syncable/entry.h" |
| 6 | 6 |
| 7 #include <iomanip> | 7 #include <iomanip> |
| 8 | 8 |
| 9 #include "base/json/string_escape.h" | |
| 10 #include "base/strings/string_util.h" | |
| 11 #include "sync/syncable/directory.h" | 9 #include "sync/syncable/directory.h" |
| 12 #include "sync/syncable/syncable_base_transaction.h" | 10 #include "sync/syncable/syncable_base_transaction.h" |
| 13 #include "sync/syncable/syncable_columns.h" | |
| 14 | |
| 15 using std::string; | |
| 16 | 11 |
| 17 namespace syncer { | 12 namespace syncer { |
| 18 namespace syncable { | 13 namespace syncable { |
| 19 | 14 |
| 20 Entry::Entry(BaseTransaction* trans, GetById, const Id& id) | 15 Entry::Entry(BaseTransaction* trans, GetById, const Id& id) |
| 21 : basetrans_(trans) { | 16 : basetrans_(trans) { |
| 22 kernel_ = trans->directory()->GetEntryById(id); | 17 kernel_ = trans->directory()->GetEntryById(id); |
| 23 } | 18 } |
| 24 | 19 |
| 25 Entry::Entry(BaseTransaction* trans, GetByClientTag, const string& tag) | 20 Entry::Entry(BaseTransaction* trans, GetByClientTag, const std::string& tag) |
| 26 : basetrans_(trans) { | 21 : basetrans_(trans) { |
| 27 kernel_ = trans->directory()->GetEntryByClientTag(tag); | 22 kernel_ = trans->directory()->GetEntryByClientTag(tag); |
| 28 } | 23 } |
| 29 | 24 |
| 30 Entry::Entry(BaseTransaction* trans, GetTypeRoot, ModelType type) | 25 Entry::Entry(BaseTransaction* trans, GetTypeRoot, ModelType type) |
| 31 : basetrans_(trans) { | 26 : basetrans_(trans) { |
| 32 const std::string& tag = ModelTypeToRootTag(type); | 27 const std::string& tag = ModelTypeToRootTag(type); |
| 33 kernel_ = trans->directory()->GetEntryByServerTag(tag); | 28 kernel_ = trans->directory()->GetEntryByServerTag(tag); |
| 34 } | 29 } |
| 35 | 30 |
| 36 Entry::Entry(BaseTransaction* trans, GetByHandle, int64 metahandle) | 31 Entry::Entry(BaseTransaction* trans, GetByHandle, int64 metahandle) |
| 37 : basetrans_(trans) { | 32 : basetrans_(trans) { |
| 38 kernel_ = trans->directory()->GetEntryByHandle(metahandle); | 33 kernel_ = trans->directory()->GetEntryByHandle(metahandle); |
| 39 } | 34 } |
| 40 | 35 |
| 41 Entry::Entry(BaseTransaction* trans, GetByServerTag, const string& tag) | 36 Entry::Entry(BaseTransaction* trans, GetByServerTag, const std::string& tag) |
| 42 : basetrans_(trans) { | 37 : basetrans_(trans) { |
| 43 kernel_ = trans->directory()->GetEntryByServerTag(tag); | 38 kernel_ = trans->directory()->GetEntryByServerTag(tag); |
| 44 } | 39 } |
| 45 | 40 |
| 46 Directory* Entry::dir() const { | 41 Directory* Entry::dir() const { |
| 47 return basetrans_->directory(); | 42 return basetrans_->directory(); |
| 48 } | 43 } |
| 49 | 44 |
| 50 base::DictionaryValue* Entry::ToValue(Cryptographer* cryptographer) const { | 45 base::DictionaryValue* Entry::ToValue(Cryptographer* cryptographer) const { |
| 51 base::DictionaryValue* entry_info = new base::DictionaryValue(); | 46 base::DictionaryValue* entry_info = new base::DictionaryValue(); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 | 123 |
| 129 bool Entry::ShouldMaintainPosition() const { | 124 bool Entry::ShouldMaintainPosition() const { |
| 130 return kernel_->ShouldMaintainPosition(); | 125 return kernel_->ShouldMaintainPosition(); |
| 131 } | 126 } |
| 132 | 127 |
| 133 bool Entry::ShouldMaintainHierarchy() const { | 128 bool Entry::ShouldMaintainHierarchy() const { |
| 134 return kernel_->ShouldMaintainHierarchy(); | 129 return kernel_->ShouldMaintainHierarchy(); |
| 135 } | 130 } |
| 136 | 131 |
| 137 std::ostream& operator<<(std::ostream& os, const Entry& entry) { | 132 std::ostream& operator<<(std::ostream& os, const Entry& entry) { |
| 138 int i; | 133 os << *(entry.kernel_); |
| 139 EntryKernel* const kernel = entry.kernel_; | |
| 140 for (i = BEGIN_FIELDS; i < INT64_FIELDS_END; ++i) { | |
| 141 os << g_metas_columns[i].name << ": " | |
| 142 << kernel->ref(static_cast<Int64Field>(i)) << ", "; | |
| 143 } | |
| 144 for ( ; i < TIME_FIELDS_END; ++i) { | |
| 145 os << g_metas_columns[i].name << ": " | |
| 146 << GetTimeDebugString(kernel->ref(static_cast<TimeField>(i))) << ", "; | |
| 147 } | |
| 148 for ( ; i < ID_FIELDS_END; ++i) { | |
| 149 os << g_metas_columns[i].name << ": " | |
| 150 << kernel->ref(static_cast<IdField>(i)) << ", "; | |
| 151 } | |
| 152 os << "Flags: "; | |
| 153 for ( ; i < BIT_FIELDS_END; ++i) { | |
| 154 if (kernel->ref(static_cast<BitField>(i))) | |
| 155 os << g_metas_columns[i].name << ", "; | |
| 156 } | |
| 157 for ( ; i < STRING_FIELDS_END; ++i) { | |
| 158 const std::string& field = kernel->ref(static_cast<StringField>(i)); | |
| 159 os << g_metas_columns[i].name << ": " << field << ", "; | |
| 160 } | |
| 161 for ( ; i < PROTO_FIELDS_END; ++i) { | |
| 162 std::string escaped_str = base::EscapeBytesAsInvalidJSONString( | |
| 163 kernel->ref(static_cast<ProtoField>(i)).SerializeAsString(), | |
| 164 false); | |
| 165 os << g_metas_columns[i].name << ": " << escaped_str << ", "; | |
| 166 } | |
| 167 for ( ; i < UNIQUE_POSITION_FIELDS_END; ++i) { | |
| 168 os << g_metas_columns[i].name << ": " | |
| 169 << kernel->ref(static_cast<UniquePositionField>(i)).ToDebugString() | |
| 170 << ", "; | |
| 171 } | |
| 172 for ( ; i < ATTACHMENT_METADATA_FIELDS_END; ++i) { | |
| 173 std::string escaped_str = base::EscapeBytesAsInvalidJSONString( | |
| 174 kernel->ref(static_cast<AttachmentMetadataField>(i)) | |
| 175 .SerializeAsString(), | |
| 176 false); | |
| 177 os << g_metas_columns[i].name << ": " << escaped_str << ", "; | |
| 178 } | |
| 179 os << "TempFlags: "; | |
| 180 for ( ; i < BIT_TEMPS_END; ++i) { | |
| 181 if (kernel->ref(static_cast<BitTemp>(i))) | |
| 182 os << "#" << i - BIT_TEMPS_BEGIN << ", "; | |
| 183 } | |
| 184 return os; | 134 return os; |
| 185 } | 135 } |
| 186 | 136 |
| 187 } // namespace syncable | 137 } // namespace syncable |
| 188 } // namespace syncer | 138 } // namespace syncer |
| OLD | NEW |