| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "components/sync/protocol/proto_value_conversions.h" | 5 #include "components/sync/protocol/proto_value_conversions.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 // std::unique_ptr<base::DictionaryValue> ToValue( | 77 // std::unique_ptr<base::DictionaryValue> ToValue( |
| 78 // const sync_pb::GreenProto& proto) const { | 78 // const sync_pb::GreenProto& proto) const { |
| 79 // auto value = ToValueImpl(proto); | 79 // auto value = ToValueImpl(proto); |
| 80 // value->SetString("secret", "<clobbered>"); | 80 // value->SetString("secret", "<clobbered>"); |
| 81 // return value; | 81 // return value; |
| 82 // } | 82 // } |
| 83 // | 83 // |
| 84 // ToValue() doesn't have to return base::DictionaryValue though. It might | 84 // ToValue() doesn't have to return base::DictionaryValue though. It might |
| 85 // be more appropriate to serialize GreenProto into a string instead: | 85 // be more appropriate to serialize GreenProto into a string instead: |
| 86 // | 86 // |
| 87 // std::unique_ptr<base::StringValue> ToValue( | 87 // std::unique_ptr<base::Value> ToValue( |
| 88 // const sync_pb::GreenProto& proto) const { | 88 // const sync_pb::GreenProto& proto) const { |
| 89 // return base::MakeUnique<base::StringValue>(proto.content()); | 89 // return base::MakeUnique<base::Value>(proto.content()); |
| 90 // } | 90 // } |
| 91 // | 91 // |
| 92 class ToValueVisitor { | 92 class ToValueVisitor { |
| 93 public: | 93 public: |
| 94 ToValueVisitor(bool include_specifics = true, | 94 ToValueVisitor(bool include_specifics = true, |
| 95 base::DictionaryValue* value = nullptr) | 95 base::DictionaryValue* value = nullptr) |
| 96 : value_(value) | 96 : value_(value) |
| 97 , include_specifics_(include_specifics) {} | 97 , include_specifics_(include_specifics) {} |
| 98 | 98 |
| 99 template <class P> | 99 template <class P> |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 if (proto.type() != sync_pb::AutofillWalletSpecifics::MASKED_CREDIT_CARD) { | 211 if (proto.type() != sync_pb::AutofillWalletSpecifics::MASKED_CREDIT_CARD) { |
| 212 value->Remove("masked_card", nullptr); | 212 value->Remove("masked_card", nullptr); |
| 213 } | 213 } |
| 214 return value; | 214 return value; |
| 215 } | 215 } |
| 216 | 216 |
| 217 // UniquePosition | 217 // UniquePosition |
| 218 std::unique_ptr<base::Value> ToValue( | 218 std::unique_ptr<base::Value> ToValue( |
| 219 const sync_pb::UniquePosition& proto) const { | 219 const sync_pb::UniquePosition& proto) const { |
| 220 UniquePosition pos = UniquePosition::FromProto(proto); | 220 UniquePosition pos = UniquePosition::FromProto(proto); |
| 221 return base::MakeUnique<base::StringValue>(pos.ToDebugString()); | 221 return base::MakeUnique<base::Value>(pos.ToDebugString()); |
| 222 } | 222 } |
| 223 | 223 |
| 224 private: | 224 private: |
| 225 template <class P> | 225 template <class P> |
| 226 std::unique_ptr<base::DictionaryValue> ToValueImpl(const P& proto) const { | 226 std::unique_ptr<base::DictionaryValue> ToValueImpl(const P& proto) const { |
| 227 auto value = base::MakeUnique<base::DictionaryValue>(); | 227 auto value = base::MakeUnique<base::DictionaryValue>(); |
| 228 ToValueVisitor visitor(include_specifics_, value.get()); | 228 ToValueVisitor visitor(include_specifics_, value.get()); |
| 229 VisitProtoFields(visitor, proto); | 229 VisitProtoFields(visitor, proto); |
| 230 return value; | 230 return value; |
| 231 } | 231 } |
| 232 | 232 |
| 233 static std::unique_ptr<base::Value> BytesToValue(const std::string& bytes) { | 233 static std::unique_ptr<base::Value> BytesToValue(const std::string& bytes) { |
| 234 std::string bytes_base64; | 234 std::string bytes_base64; |
| 235 base::Base64Encode(bytes, &bytes_base64); | 235 base::Base64Encode(bytes, &bytes_base64); |
| 236 return base::MakeUnique<base::StringValue>(bytes_base64); | 236 return base::MakeUnique<base::Value>(bytes_base64); |
| 237 } | 237 } |
| 238 | 238 |
| 239 template <class E> | 239 template <class E> |
| 240 static std::unique_ptr<base::Value> EnumToValue(E value) { | 240 static std::unique_ptr<base::Value> EnumToValue(E value) { |
| 241 return base::MakeUnique<base::StringValue>(ProtoEnumToString(value)); | 241 return base::MakeUnique<base::Value>(ProtoEnumToString(value)); |
| 242 } | 242 } |
| 243 | 243 |
| 244 std::unique_ptr<base::Value> ToValue(const std::string& value) const { | 244 std::unique_ptr<base::Value> ToValue(const std::string& value) const { |
| 245 return base::MakeUnique<base::StringValue>(value); | 245 return base::MakeUnique<base::Value>(value); |
| 246 } | 246 } |
| 247 | 247 |
| 248 std::unique_ptr<base::Value> ToValue(int64_t value) const { | 248 std::unique_ptr<base::Value> ToValue(int64_t value) const { |
| 249 return base::MakeUnique<base::StringValue>(base::Int64ToString(value)); | 249 return base::MakeUnique<base::Value>(base::Int64ToString(value)); |
| 250 } | 250 } |
| 251 std::unique_ptr<base::Value> ToValue(uint64_t value) const { | 251 std::unique_ptr<base::Value> ToValue(uint64_t value) const { |
| 252 return base::MakeUnique<base::StringValue>(base::Int64ToString(value)); | 252 return base::MakeUnique<base::Value>(base::Int64ToString(value)); |
| 253 } | 253 } |
| 254 std::unique_ptr<base::Value> ToValue(uint32_t value) const { | 254 std::unique_ptr<base::Value> ToValue(uint32_t value) const { |
| 255 return base::MakeUnique<base::StringValue>(base::Int64ToString(value)); | 255 return base::MakeUnique<base::Value>(base::Int64ToString(value)); |
| 256 } | 256 } |
| 257 std::unique_ptr<base::Value> ToValue(int32_t value) const { | 257 std::unique_ptr<base::Value> ToValue(int32_t value) const { |
| 258 return base::MakeUnique<base::StringValue>(base::Int64ToString(value)); | 258 return base::MakeUnique<base::Value>(base::Int64ToString(value)); |
| 259 } | 259 } |
| 260 | 260 |
| 261 std::unique_ptr<base::Value> ToValue(bool value) const { | 261 std::unique_ptr<base::Value> ToValue(bool value) const { |
| 262 return base::MakeUnique<base::Value>(value); | 262 return base::MakeUnique<base::Value>(value); |
| 263 } | 263 } |
| 264 std::unique_ptr<base::Value> ToValue(float value) const { | 264 std::unique_ptr<base::Value> ToValue(float value) const { |
| 265 return base::MakeUnique<base::Value>(value); | 265 return base::MakeUnique<base::Value>(value); |
| 266 } | 266 } |
| 267 std::unique_ptr<base::Value> ToValue(double value) const { | 267 std::unique_ptr<base::Value> ToValue(double value) const { |
| 268 return base::MakeUnique<base::Value>(value); | 268 return base::MakeUnique<base::Value>(value); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 IMPLEMENT_PROTO_TO_VALUE(WifiCredentialSpecifics) | 353 IMPLEMENT_PROTO_TO_VALUE(WifiCredentialSpecifics) |
| 354 | 354 |
| 355 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerMessage) | 355 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerMessage) |
| 356 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerResponse) | 356 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(ClientToServerResponse) |
| 357 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(SyncEntity) | 357 IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS(SyncEntity) |
| 358 | 358 |
| 359 #undef IMPLEMENT_PROTO_TO_VALUE | 359 #undef IMPLEMENT_PROTO_TO_VALUE |
| 360 #undef IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS | 360 #undef IMPLEMENT_PROTO_TO_VALUE_INCLUDE_SPECIFICS |
| 361 | 361 |
| 362 } // namespace syncer | 362 } // namespace syncer |
| OLD | NEW |