| OLD | NEW |
| 1 // This file is generated | 1 // This file is generated |
| 2 | 2 |
| 3 // Copyright 2016 The Chromium Authors. All rights reserved. | 3 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 4 // Use of this source code is governed by a BSD-style license that can be | 4 // Use of this source code is governed by a BSD-style license that can be |
| 5 // found in the LICENSE file. | 5 // found in the LICENSE file. |
| 6 | 6 |
| 7 #include "headless/public/domains/types.h" | 7 #include "headless/public/domains/types.h" |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "headless/public/domains/type_conversions.h" | 10 #include "headless/public/domains/type_conversions.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 std::unique_ptr<{{type.id}}> result(new {{type.id}}()); | 77 std::unique_ptr<{{type.id}}> result(new {{type.id}}()); |
| 78 errors->Push(); | 78 errors->Push(); |
| 79 errors->SetName("{{type.id}}"); | 79 errors->SetName("{{type.id}}"); |
| 80 {% for property in type.properties %} | 80 {% for property in type.properties %} |
| 81 {% set value_name = property.name | camelcase_to_hacker_style + "_value" %
} | 81 {% set value_name = property.name | camelcase_to_hacker_style + "_value" %
} |
| 82 const base::Value* {{value_name}}; | 82 const base::Value* {{value_name}}; |
| 83 if (object->Get("{{property.name}}", &{{value_name}})) { | 83 if (object->Get("{{property.name}}", &{{value_name}})) { |
| 84 errors->SetName("{{property.name}}"); | 84 errors->SetName("{{property.name}}"); |
| 85 {% if property.optional %} | 85 {% if property.optional %} |
| 86 result->{{property.name | camelcase_to_hacker_style}}_ = Just(internal::From
Value<{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors)); | 86 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue
<{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors); |
| 87 {% else %} | 87 {% else %} |
| 88 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue
<{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors); | 88 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue
<{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors); |
| 89 {% endif %} | 89 {% endif %} |
| 90 {% if property.optional %} | 90 {% if property.optional %} |
| 91 } | 91 } |
| 92 {% else %} | 92 {% else %} |
| 93 } else { | 93 } else { |
| 94 errors->AddError("required property missing: {{property.name}}"); | 94 errors->AddError("required property missing: {{property.name}}"); |
| 95 } | 95 } |
| 96 {% endif %} | 96 {% endif %} |
| 97 {% endfor %} | 97 {% endfor %} |
| 98 errors->Pop(); | 98 errors->Pop(); |
| 99 errors->Pop(); | 99 errors->Pop(); |
| 100 if (errors->HasErrors()) | 100 if (errors->HasErrors()) |
| 101 return nullptr; | 101 return nullptr; |
| 102 return result; | 102 return result; |
| 103 } | 103 } |
| 104 | 104 |
| 105 std::unique_ptr<base::Value> {{type.id}}::Serialize() const { | 105 std::unique_ptr<base::Value> {{type.id}}::Serialize() const { |
| 106 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); | 106 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); |
| 107 {% for property in type.properties %} | 107 {% for property in type.properties %} |
| 108 {% set type = resolve_type(property) %} | 108 {% set type = resolve_type(property) %} |
| 109 {% if property.optional %} | 109 {% if property.optional %} |
| 110 if ({{property.name | camelcase_to_hacker_style}}_.IsJust()) | 110 if ({{property.name | camelcase_to_hacker_style}}_) |
| 111 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s
_.FromJust()" % property.name | camelcase_to_hacker_style)}})); | 111 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s
_.value()" % property.name | camelcase_to_hacker_style)}})); |
| 112 {% else %} | 112 {% else %} |
| 113 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s_"
% property.name | camelcase_to_hacker_style)}})); | 113 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s_"
% property.name | camelcase_to_hacker_style)}})); |
| 114 {% endif %} | 114 {% endif %} |
| 115 {% endfor %} | 115 {% endfor %} |
| 116 return std::move(result); | 116 return std::move(result); |
| 117 } | 117 } |
| 118 | 118 |
| 119 std::unique_ptr<{{type.id}}> {{type.id}}::Clone() const { | 119 std::unique_ptr<{{type.id}}> {{type.id}}::Clone() const { |
| 120 ErrorReporter errors; | 120 ErrorReporter errors; |
| 121 std::unique_ptr<{{type.id}}> result = Parse(*Serialize(), &errors); | 121 std::unique_ptr<{{type.id}}> result = Parse(*Serialize(), &errors); |
| 122 DCHECK(!errors.HasErrors()); | 122 DCHECK(!errors.HasErrors()); |
| 123 return result; | 123 return result; |
| 124 } | 124 } |
| 125 | 125 |
| 126 {% endfor %} | 126 {% endfor %} |
| 127 } // namespace {{domain.domain | camelcase_to_hacker_style}} | 127 } // namespace {{domain.domain | camelcase_to_hacker_style}} |
| 128 {% endfor %} | 128 {% endfor %} |
| 129 | 129 |
| 130 } // namespace headless | 130 } // namespace headless |
| OLD | NEW |