// GENERATED FILE // This file generated by DomDistillerJs protoc plugin. #include "test_sample.pb.h" // base dependencies #include "base/values.h" #include #include #include namespace dom_distiller { namespace test_sample { namespace proto { namespace json { class TypeTest { public: class Message { public: static bool ReadFromValue(const base::Value& dict, dom_distiller::test_sample::proto::TypeTest::Message* message) { if (!dict.is_dict()) goto error; if (const auto* value = dict.FindKey("1")) { if (!(*value).is_bool()) { goto error; } message->set_dummy(value->GetBool()); } return true; error: return false; } static base::Value WriteToValue(const dom_distiller::test_sample::proto::TypeTest::Message& message) { base::Value dict(base::Value::Type::DICTIONARY); if (message.has_dummy()) { dict.SetBoolKey("1", message.dummy()); } return dict; } }; static bool ReadFromValue(const base::Value& dict, dom_distiller::test_sample::proto::TypeTest* message) { if (!dict.is_dict()) goto error; if (const auto* value = dict.FindKey("1")) { if (!((*value).is_int() || (*value).is_double())) { goto error; } message->set_float_value(value->GetDouble()); } if (const auto* value = dict.FindKey("2")) { if (!((*value).is_int() || (*value).is_double())) { goto error; } message->set_double_value(value->GetDouble()); } if (const auto* value = dict.FindKey("3")) { if (!(*value).is_int()) { goto error; } message->set_int32_value(value->GetInt()); } if (const auto* value = dict.FindKey("4")) { if (!(*value).is_bool()) { goto error; } message->set_bool_value(value->GetBool()); } if (const auto* value = dict.FindKey("5")) { if (!(*value).is_string()) { goto error; } message->set_string_value(value->GetString()); } if (const auto* value = dict.FindKey("6")) { if (!dom_distiller::test_sample::proto::json::TypeTest::Message::ReadFromValue(*value, message->mutable_message_value())) { goto error; } } return true; error: return false; } static base::Value WriteToValue(const dom_distiller::test_sample::proto::TypeTest& message) { base::Value dict(base::Value::Type::DICTIONARY); if (message.has_float_value()) { dict.SetDoubleKey("1", message.float_value()); } if (message.has_double_value()) { dict.SetDoubleKey("2", message.double_value()); } if (message.has_int32_value()) { dict.SetIntKey("3", message.int32_value()); } if (message.has_bool_value()) { dict.SetBoolKey("4", message.bool_value()); } if (message.has_string_value()) { dict.SetStringKey("5", message.string_value()); } if (message.has_message_value()) { dict.SetKey("6", dom_distiller::test_sample::proto::json::TypeTest::Message::WriteToValue( message.message_value())); } return dict; } }; class Repeated { public: class Message { public: static bool ReadFromValue(const base::Value& dict, dom_distiller::test_sample::proto::Repeated::Message* message) { if (!dict.is_dict()) goto error; if (const auto* value = dict.FindKey("1")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!element.is_bool()) { goto error; } message->add_dummy(element.GetBool()); } } return true; error: return false; } static base::Value WriteToValue(const dom_distiller::test_sample::proto::Repeated::Message& message) { base::Value dict(base::Value::Type::DICTIONARY); { const auto& repeated_field = message.dummy(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("1", base::Value(std::move(field_list))); } return dict; } }; static bool ReadFromValue(const base::Value& dict, dom_distiller::test_sample::proto::Repeated* message) { if (!dict.is_dict()) goto error; if (const auto* value = dict.FindKey("1")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!(element.is_int() || element.is_double())) { goto error; } message->add_float_value(element.GetDouble()); } } if (const auto* value = dict.FindKey("2")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!(element.is_int() || element.is_double())) { goto error; } message->add_double_value(element.GetDouble()); } } if (const auto* value = dict.FindKey("3")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!element.is_int()) { goto error; } message->add_int32_value(element.GetInt()); } } if (const auto* value = dict.FindKey("4")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!element.is_bool()) { goto error; } message->add_bool_value(element.GetBool()); } } if (const auto* value = dict.FindKey("5")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!element.is_string()) { goto error; } message->add_string_value(element.GetString()); } } if (const auto* value = dict.FindKey("6")) { if (!value->is_list()) { goto error; } for (const auto& element : value->GetListDeprecated()) { if (!dom_distiller::test_sample::proto::json::Repeated::Message::ReadFromValue(element, message->add_message_value())) { goto error; } } } return true; error: return false; } static base::Value WriteToValue(const dom_distiller::test_sample::proto::Repeated& message) { base::Value dict(base::Value::Type::DICTIONARY); { const auto& repeated_field = message.float_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("1", base::Value(std::move(field_list))); } { const auto& repeated_field = message.double_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("2", base::Value(std::move(field_list))); } { const auto& repeated_field = message.int32_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("3", base::Value(std::move(field_list))); } { const auto& repeated_field = message.bool_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("4", base::Value(std::move(field_list))); } { const auto& repeated_field = message.string_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append(element); } dict.SetKey("5", base::Value(std::move(field_list))); } { const auto& repeated_field = message.message_value(); base::Value::List field_list; field_list.reserve(repeated_field.size()); for (const auto& element : repeated_field) { field_list.Append( dom_distiller::test_sample::proto::json::Repeated::Message::WriteToValue(element)); } dict.SetKey("6", base::Value(std::move(field_list))); } return dict; } }; } } } }