@@ -281,7 +281,7 @@ void Value::writeJSON(StringBuilder* output) const
281281 StringUtil::builderAppend(*output, nullValueString, 4);
282282}
283283
284- void Value::writeBinary (std::vector<uint8_t>* bytes) const {
284+ void Value::AppendSerialized (std::vector<uint8_t>* bytes) const {
285285 DCHECK(m_type == TypeNull);
286286 bytes->push_back(cbor::EncodeNull());
287287}
@@ -299,12 +299,6 @@ String Value::toJSONString() const
299299 return StringUtil::builderToString(result);
300300}
301301
302- std::vector<uint8_t> Value::serializeToBinary() {
303- std::vector<uint8_t> bytes;
304- writeBinary(&bytes);
305- return bytes;
306- }
307-
308302bool FundamentalValue::asBoolean(bool* output) const
309303{
310304 if (type() != TypeBoolean)
@@ -353,7 +347,7 @@ void FundamentalValue::writeJSON(StringBuilder* output) const
353347 }
354348}
355349
356- void FundamentalValue::writeBinary (std::vector<uint8_t>* bytes) const {
350+ void FundamentalValue::AppendSerialized (std::vector<uint8_t>* bytes) const {
357351 switch (type()) {
358352 case TypeDouble:
359353 cbor::EncodeDouble(m_doubleValue, bytes);
@@ -422,7 +416,7 @@ void EncodeString(const String& s, std::vector<uint8_t>* out) {
422416}
423417} // namespace
424418
425- void StringValue::writeBinary (std::vector<uint8_t>* bytes) const {
419+ void StringValue::AppendSerialized (std::vector<uint8_t>* bytes) const {
426420 EncodeString(m_stringValue, bytes);
427421}
428422
@@ -443,7 +437,7 @@ void BinaryValue::writeJSON(StringBuilder* output) const
443437 StringUtil::builderAppendQuotedString(*output, m_binaryValue.toBase64());
444438}
445439
446- void BinaryValue::writeBinary (std::vector<uint8_t>* bytes) const {
440+ void BinaryValue::AppendSerialized (std::vector<uint8_t>* bytes) const {
447441 cbor::EncodeBinary(span<uint8_t>(m_binaryValue.data(),
448442 m_binaryValue.size()), bytes);
449443}
@@ -459,7 +453,11 @@ void SerializedValue::writeJSON(StringBuilder* output) const
459453 StringUtil::builderAppend(*output, m_serializedJSON);
460454}
461455
462- void SerializedValue::writeBinary(std::vector<uint8_t>* output) const
456+ std::vector<uint8_t> SerializedValue::TakeSerialized() && {
457+ return std::move(m_serializedBinary);
458+ }
459+
460+ void SerializedValue::AppendSerialized(std::vector<uint8_t>* output) const
463461{
464462 DCHECK(type() == TypeSerialized);
465463 output->insert(output->end(), m_serializedBinary.begin(), m_serializedBinary.end());
@@ -607,7 +605,7 @@ void DictionaryValue::writeJSON(StringBuilder* output) const
607605 StringUtil::builderAppend(*output, '}');
608606}
609607
610- void DictionaryValue::writeBinary (std::vector<uint8_t>* bytes) const {
608+ void DictionaryValue::AppendSerialized (std::vector<uint8_t>* bytes) const {
611609 cbor::EnvelopeEncoder encoder;
612610 encoder.EncodeStart(bytes);
613611 bytes->push_back(cbor::EncodeIndefiniteLengthMapStart());
@@ -616,7 +614,7 @@ void DictionaryValue::writeBinary(std::vector<uint8_t>* bytes) const {
616614 Dictionary::const_iterator value = m_data.find(key);
617615 DCHECK(value != m_data.cend() && value->second);
618616 EncodeString(key, bytes);
619- value->second->writeBinary (bytes);
617+ value->second->AppendSerialized (bytes);
620618 }
621619 bytes->push_back(cbor::EncodeStop());
622620 encoder.EncodeStop(bytes);
@@ -656,12 +654,12 @@ void ListValue::writeJSON(StringBuilder* output) const
656654 StringUtil::builderAppend(*output, ']');
657655}
658656
659- void ListValue::writeBinary (std::vector<uint8_t>* bytes) const {
657+ void ListValue::AppendSerialized (std::vector<uint8_t>* bytes) const {
660658 cbor::EnvelopeEncoder encoder;
661659 encoder.EncodeStart(bytes);
662660 bytes->push_back(cbor::EncodeIndefiniteLengthArrayStart());
663661 for (size_t i = 0; i < m_data.size(); ++i) {
664- m_data[i]->writeBinary (bytes);
662+ m_data[i]->AppendSerialized (bytes);
665663 }
666664 bytes->push_back(cbor::EncodeStop());
667665 encoder.EncodeStop(bytes);
0 commit comments