blob: 3c7faaf0773aec2d90b43b0a9b0a90b81ee99236 [file] [log] [blame]
// GENERATED FILE
// This file generated by DomDistillerJs protoc plugin.
#include "test_sample.pb.h"
// base dependencies
#include "base/values.h"
#include <memory>
#include <string>
#include <utility>
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->GetList()) {
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::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
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->GetList()) {
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->GetList()) {
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->GetList()) {
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->GetList()) {
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->GetList()) {
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->GetList()) {
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::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
dict.SetKey("1",
base::Value(std::move(field_list)));
}
{
const auto& repeated_field = message.double_value();
base::Value::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
dict.SetKey("2",
base::Value(std::move(field_list)));
}
{
const auto& repeated_field = message.int32_value();
base::Value::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
dict.SetKey("3",
base::Value(std::move(field_list)));
}
{
const auto& repeated_field = message.bool_value();
base::Value::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
dict.SetKey("4",
base::Value(std::move(field_list)));
}
{
const auto& repeated_field = message.string_value();
base::Value::ListStorage field_list(
repeated_field.begin(), repeated_field.end());
dict.SetKey("5",
base::Value(std::move(field_list)));
}
{
const auto& repeated_field = message.message_value();
base::Value::ListStorage field_list;
field_list.reserve(repeated_field.size());
for (const auto& element : repeated_field) {
field_list.push_back(
dom_distiller::test_sample::proto::json::Repeated::Message::WriteToValue(element));
}
dict.SetKey("6",
base::Value(std::move(field_list)));
}
return dict;
}
};
}
}
}
}