Index: components/sync/api/entity_data.cc |
diff --git a/components/sync/api/entity_data.cc b/components/sync/api/entity_data.cc |
index 59500fa3324b41cca4ce0b967f27ed811b73632c..44183d8f6a5543e51ef41b6d1d7709407dea410d 100644 |
--- a/components/sync/api/entity_data.cc |
+++ b/components/sync/api/entity_data.cc |
@@ -7,9 +7,23 @@ |
#include <algorithm> |
#include "base/logging.h" |
+#include "base/strings/string_number_conversions.h" |
+#include "base/strings/string_util.h" |
+#include "components/sync/base/time.h" |
+#include "components/sync/base/unique_position.h" |
+#include "components/sync/protocol/proto_value_conversions.h" |
namespace syncer_v2 { |
+namespace { |
+ |
+std::string UniquePositionToString( |
+ const sync_pb::UniquePosition& unique_position) { |
+ return syncer::UniquePosition::FromProto(unique_position).ToDebugString(); |
+} |
+ |
+} // namespace |
+ |
EntityData::EntityData() {} |
EntityData::~EntityData() {} |
@@ -33,6 +47,24 @@ EntityDataPtr EntityData::PassToPtr() { |
return target; |
} |
+#define ADD_TO_DICT(dict, value, transform) \ |
+ dict->SetString(base::ToUpperASCII(#value), transform(value)); |
+ |
+std::unique_ptr<base::DictionaryValue> EntityData::ToDictionaryValue() { |
+ std::unique_ptr<base::DictionaryValue> dict = |
+ syncer::EntitySpecificsToValue(specifics); |
+ ADD_TO_DICT(dict, id, ); |
+ ADD_TO_DICT(dict, client_tag_hash, ); |
+ ADD_TO_DICT(dict, non_unique_name, ); |
+ ADD_TO_DICT(dict, parent_id, ); |
+ ADD_TO_DICT(dict, creation_time, syncer::GetTimeDebugString); |
+ ADD_TO_DICT(dict, modification_time, syncer::GetTimeDebugString); |
+ ADD_TO_DICT(dict, unique_position, UniquePositionToString); |
+ return dict; |
+} |
+ |
+#undef ADD_TO_DICT |
+ |
void EntityDataTraits::SwapValue(EntityData* dest, EntityData* src) { |
dest->Swap(src); |
} |