| OLD | NEW |
| 1 // This file is generated | 1 // This file is generated |
| 2 | 2 |
| 3 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 3 // Copyright (c) 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 "{{output_package}}/{{domain.domain}}.h" | 7 #include "{{output_package}}/{{domain.domain}}.h" |
| 8 | 8 |
| 9 #include "platform/inspector_protocol/DispatcherBase.h" | 9 #include "platform/inspector_protocol/DispatcherBase.h" |
| 10 | 10 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 } | 42 } |
| 43 | 43 |
| 44 std::unique_ptr<{{type.id}}> result(new {{type.id}}()); | 44 std::unique_ptr<{{type.id}}> result(new {{type.id}}()); |
| 45 protocol::DictionaryValue* object = DictionaryValue::cast(value); | 45 protocol::DictionaryValue* object = DictionaryValue::cast(value); |
| 46 errors->push(); | 46 errors->push(); |
| 47 {% for property in type.properties %} | 47 {% for property in type.properties %} |
| 48 protocol::Value* {{property.name}}Value = object->get("{{property.name}}"); | 48 protocol::Value* {{property.name}}Value = object->get("{{property.name}}"); |
| 49 {% if property.optional %} | 49 {% if property.optional %} |
| 50 if ({{property.name}}Value) { | 50 if ({{property.name}}Value) { |
| 51 errors->setName("{{property.name}}"); | 51 errors->setName("{{property.name}}"); |
| 52 result->m_{{property.name}} = FromValue<{{resolve_type(property).raw_typ
e}}>::parse({{property.name}}Value, errors); | 52 result->m_{{property.name}} = ValueConversions<{{resolve_type(property).
raw_type}}>::parse({{property.name}}Value, errors); |
| 53 } | 53 } |
| 54 {% else %} | 54 {% else %} |
| 55 errors->setName("{{property.name}}"); | 55 errors->setName("{{property.name}}"); |
| 56 result->m_{{property.name}} = FromValue<{{resolve_type(property).raw_type}}>
::parse({{property.name}}Value, errors); | 56 result->m_{{property.name}} = ValueConversions<{{resolve_type(property).raw_
type}}>::parse({{property.name}}Value, errors); |
| 57 {% endif %} | 57 {% endif %} |
| 58 {% endfor %} | 58 {% endfor %} |
| 59 errors->pop(); | 59 errors->pop(); |
| 60 if (errors->hasErrors()) | 60 if (errors->hasErrors()) |
| 61 return nullptr; | 61 return nullptr; |
| 62 return result; | 62 return result; |
| 63 } | 63 } |
| 64 | 64 |
| 65 std::unique_ptr<protocol::DictionaryValue> {{type.id}}::serialize() const | 65 std::unique_ptr<protocol::DictionaryValue> {{type.id}}::serialize() const |
| 66 { | 66 { |
| 67 std::unique_ptr<protocol::DictionaryValue> result = DictionaryValue::create(
); | 67 std::unique_ptr<protocol::DictionaryValue> result = DictionaryValue::create(
); |
| 68 {% for property in type.properties %} | 68 {% for property in type.properties %} |
| 69 {% if property.optional %} | 69 {% if property.optional %} |
| 70 if (m_{{property.name}}.isJust()) | 70 if (m_{{property.name}}.isJust()) |
| 71 result->setValue("{{property.name}}", toValue(m_{{property.name}}.fromJu
st())); | 71 result->setValue("{{property.name}}", ValueConversions<{{resolve_type(pr
operty).raw_type}}>::serialize(m_{{property.name}}.fromJust())); |
| 72 {% else %} | 72 {% else %} |
| 73 result->setValue("{{property.name}}", toValue({{resolve_type(property).to_ra
w_type % ("m_" + property.name)}})); | 73 result->setValue("{{property.name}}", ValueConversions<{{resolve_type(proper
ty).raw_type}}>::serialize({{resolve_type(property).to_raw_type % ("m_" + proper
ty.name)}})); |
| 74 {% endif %} | 74 {% endif %} |
| 75 {% endfor %} | 75 {% endfor %} |
| 76 return result; | 76 return result; |
| 77 } | 77 } |
| 78 | 78 |
| 79 std::unique_ptr<{{type.id}}> {{type.id}}::clone() const | 79 std::unique_ptr<{{type.id}}> {{type.id}}::clone() const |
| 80 { | 80 { |
| 81 ErrorSupport errors; | 81 ErrorSupport errors; |
| 82 return parse(serialize().get(), &errors); | 82 return parse(serialize().get(), &errors); |
| 83 } | 83 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 112 {{resolve_type(parameter).pass_type}} | 112 {{resolve_type(parameter).pass_type}} |
| 113 {%- endif %} {{parameter.name}}{%- if not loop.last -%}, {% endif -%} | 113 {%- endif %} {{parameter.name}}{%- if not loop.last -%}, {% endif -%} |
| 114 {% endfor -%}) | 114 {% endfor -%}) |
| 115 { | 115 { |
| 116 std::unique_ptr<protocol::DictionaryValue> jsonMessage = DictionaryValue::cr
eate(); | 116 std::unique_ptr<protocol::DictionaryValue> jsonMessage = DictionaryValue::cr
eate(); |
| 117 jsonMessage->setString("method", "{{domain.domain}}.{{event.name}}"); | 117 jsonMessage->setString("method", "{{domain.domain}}.{{event.name}}"); |
| 118 std::unique_ptr<protocol::DictionaryValue> paramsObject = DictionaryValue::c
reate(); | 118 std::unique_ptr<protocol::DictionaryValue> paramsObject = DictionaryValue::c
reate(); |
| 119 {% for parameter in event.parameters %} | 119 {% for parameter in event.parameters %} |
| 120 {% if "optional" in parameter %} | 120 {% if "optional" in parameter %} |
| 121 if ({{parameter.name}}.isJust()) | 121 if ({{parameter.name}}.isJust()) |
| 122 paramsObject->setValue("{{parameter.name}}", toValue({{parameter.name}}.
fromJust())); | 122 paramsObject->setValue("{{parameter.name}}", ValueConversions<{{resolve_
type(parameter).raw_type}}>::serialize({{parameter.name}}.fromJust())); |
| 123 {% else %} | 123 {% else %} |
| 124 paramsObject->setValue("{{parameter.name}}", toValue({{resolve_type(paramete
r).to_raw_type % parameter.name}})); | 124 paramsObject->setValue("{{parameter.name}}", ValueConversions<{{resolve_type
(parameter).raw_type}}>::serialize({{resolve_type(parameter).to_raw_type % param
eter.name}})); |
| 125 {% endif %} | 125 {% endif %} |
| 126 {% endfor %} | 126 {% endfor %} |
| 127 jsonMessage->setObject("params", std::move(paramsObject)); | 127 jsonMessage->setObject("params", std::move(paramsObject)); |
| 128 if (m_frontendChannel) | 128 if (m_frontendChannel) |
| 129 m_frontendChannel->sendProtocolNotification(jsonMessage->toJSONString())
; | 129 m_frontendChannel->sendProtocolNotification(jsonMessage->toJSONString())
; |
| 130 } | 130 } |
| 131 {% endfor %} | 131 {% endfor %} |
| 132 | 132 |
| 133 // --------------------- Dispatcher. | 133 // --------------------- Dispatcher. |
| 134 | 134 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 {%- else -%} | 189 {%- else -%} |
| 190 {{resolve_type(parameter).pass_type}} {{parameter.name}} | 190 {{resolve_type(parameter).pass_type}} {{parameter.name}} |
| 191 {%- endif -%} | 191 {%- endif -%} |
| 192 {%- if not loop.last -%}, {% endif -%} | 192 {%- if not loop.last -%}, {% endif -%} |
| 193 {%- endfor -%}) override | 193 {%- endfor -%}) override |
| 194 { | 194 { |
| 195 std::unique_ptr<protocol::DictionaryValue> resultObject = DictionaryValu
e::create(); | 195 std::unique_ptr<protocol::DictionaryValue> resultObject = DictionaryValu
e::create(); |
| 196 {% for parameter in command.returns %} | 196 {% for parameter in command.returns %} |
| 197 {% if "optional" in parameter %} | 197 {% if "optional" in parameter %} |
| 198 if ({{parameter.name}}.isJust()) | 198 if ({{parameter.name}}.isJust()) |
| 199 resultObject->setValue("{{parameter.name}}", toValue({{parameter.nam
e}}.fromJust())); | 199 resultObject->setValue("{{parameter.name}}", ValueConversions<{{reso
lve_type(parameter).raw_type}}>::serialize({{parameter.name}}.fromJust())); |
| 200 {% else %} | 200 {% else %} |
| 201 resultObject->setValue("{{parameter.name}}", toValue({{resolve_type(para
meter).to_raw_type % parameter.name}})); | 201 resultObject->setValue("{{parameter.name}}", ValueConversions<{{resolve_
type(parameter).raw_type}}>::serialize({{resolve_type(parameter).to_raw_type % p
arameter.name}})); |
| 202 {% endif %} | 202 {% endif %} |
| 203 {% endfor %} | 203 {% endfor %} |
| 204 sendIfActive(std::move(resultObject), ErrorString()); | 204 sendIfActive(std::move(resultObject), ErrorString()); |
| 205 } | 205 } |
| 206 | 206 |
| 207 void sendFailure(const ErrorString& error) override | 207 void sendFailure(const ErrorString& error) override |
| 208 { | 208 { |
| 209 DCHECK(error.length()); | 209 DCHECK(error.length()); |
| 210 sendIfActive(nullptr, error); | 210 sendIfActive(nullptr, error); |
| 211 } | 211 } |
| 212 | 212 |
| 213 }; | 213 }; |
| 214 {% endif %} | 214 {% endif %} |
| 215 | 215 |
| 216 void DispatcherImpl::{{command.name}}(int callId, std::unique_ptr<DictionaryValu
e> requestMessageObject, ErrorSupport* errors) | 216 void DispatcherImpl::{{command.name}}(int callId, std::unique_ptr<DictionaryValu
e> requestMessageObject, ErrorSupport* errors) |
| 217 { | 217 { |
| 218 {% if "parameters" in command %} | 218 {% if "parameters" in command %} |
| 219 // Prepare input parameters. | 219 // Prepare input parameters. |
| 220 protocol::DictionaryValue* object = DictionaryValue::cast(requestMessageObje
ct->get("params")); | 220 protocol::DictionaryValue* object = DictionaryValue::cast(requestMessageObje
ct->get("params")); |
| 221 errors->push(); | 221 errors->push(); |
| 222 {% for property in command.parameters %} | 222 {% for property in command.parameters %} |
| 223 protocol::Value* {{property.name}}Value = object ? object->get("{{property.n
ame}}") : nullptr; | 223 protocol::Value* {{property.name}}Value = object ? object->get("{{property.n
ame}}") : nullptr; |
| 224 {% if property.optional %} | 224 {% if property.optional %} |
| 225 Maybe<{{resolve_type(property).raw_type}}> in_{{property.name}}; | 225 Maybe<{{resolve_type(property).raw_type}}> in_{{property.name}}; |
| 226 if ({{property.name}}Value) { | 226 if ({{property.name}}Value) { |
| 227 errors->setName("{{property.name}}"); | 227 errors->setName("{{property.name}}"); |
| 228 in_{{property.name}} = FromValue<{{resolve_type(property).raw_type}}>::p
arse({{property.name}}Value, errors); | 228 in_{{property.name}} = ValueConversions<{{resolve_type(property).raw_typ
e}}>::parse({{property.name}}Value, errors); |
| 229 } | 229 } |
| 230 {% else %} | 230 {% else %} |
| 231 errors->setName("{{property.name}}"); | 231 errors->setName("{{property.name}}"); |
| 232 {{resolve_type(property).type}} in_{{property.name}} = FromValue<{{resolve_t
ype(property).raw_type}}>::parse({{property.name}}Value, errors); | 232 {{resolve_type(property).type}} in_{{property.name}} = ValueConversions<{{re
solve_type(property).raw_type}}>::parse({{property.name}}Value, errors); |
| 233 {% endif %} | 233 {% endif %} |
| 234 {% endfor %} | 234 {% endfor %} |
| 235 errors->pop(); | 235 errors->pop(); |
| 236 if (errors->hasErrors()) { | 236 if (errors->hasErrors()) { |
| 237 reportProtocolError(callId, InvalidParams, kInvalidRequest, errors); | 237 reportProtocolError(callId, InvalidParams, kInvalidRequest, errors); |
| 238 return; | 238 return; |
| 239 } | 239 } |
| 240 {% endif %} | 240 {% endif %} |
| 241 {% if "async" in command %} | 241 {% if "async" in command %} |
| 242 std::unique_ptr<{{command.name | to_title_case}}CallbackImpl> callback(new {
{command.name | to_title_case}}CallbackImpl(weakPtr(), callId)); | 242 std::unique_ptr<{{command.name | to_title_case}}CallbackImpl> callback(new {
{command.name | to_title_case}}CallbackImpl(weakPtr(), callId)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 267 {%- elif "returns" in command %} | 267 {%- elif "returns" in command %} |
| 268 {%- for property in command.returns -%} | 268 {%- for property in command.returns -%} |
| 269 , &out_{{property.name}} | 269 , &out_{{property.name}} |
| 270 {%- endfor %} | 270 {%- endfor %} |
| 271 {% endif %}); | 271 {% endif %}); |
| 272 {% if "returns" in command and not("async" in command) %} | 272 {% if "returns" in command and not("async" in command) %} |
| 273 if (!error.length()) { | 273 if (!error.length()) { |
| 274 {% for parameter in command.returns %} | 274 {% for parameter in command.returns %} |
| 275 {% if "optional" in parameter %} | 275 {% if "optional" in parameter %} |
| 276 if (out_{{parameter.name}}.isJust()) | 276 if (out_{{parameter.name}}.isJust()) |
| 277 result->setValue("{{parameter.name}}", toValue(out_{{parameter.name}
}.fromJust())); | 277 result->setValue("{{parameter.name}}", ValueConversions<{{resolve_ty
pe(parameter).raw_type}}>::serialize(out_{{parameter.name}}.fromJust())); |
| 278 {% else %} | 278 {% else %} |
| 279 result->setValue("{{parameter.name}}", toValue({{resolve_type(parameter)
.to_raw_type % ("out_" + parameter.name)}})); | 279 result->setValue("{{parameter.name}}", ValueConversions<{{resolve_type(p
arameter).raw_type}}>::serialize({{resolve_type(parameter).to_raw_type % ("out_"
+ parameter.name)}})); |
| 280 {% endif %} | 280 {% endif %} |
| 281 {% endfor %} | 281 {% endfor %} |
| 282 } | 282 } |
| 283 if (weak->get()) | 283 if (weak->get()) |
| 284 weak->get()->sendResponse(callId, error, std::move(result)); | 284 weak->get()->sendResponse(callId, error, std::move(result)); |
| 285 {% elif not("async" in command) %} | 285 {% elif not("async" in command) %} |
| 286 if (weak->get()) | 286 if (weak->get()) |
| 287 weak->get()->sendResponse(callId, error); | 287 weak->get()->sendResponse(callId, error); |
| 288 {% endif %} | 288 {% endif %} |
| 289 } | 289 } |
| 290 {% endfor %} | 290 {% endfor %} |
| 291 | 291 |
| 292 // static | 292 // static |
| 293 void Dispatcher::wire(UberDispatcher* dispatcher, Backend* backend) | 293 void Dispatcher::wire(UberDispatcher* dispatcher, Backend* backend) |
| 294 { | 294 { |
| 295 dispatcher->registerBackend("{{domain.domain}}", wrapUnique(new DispatcherIm
pl(dispatcher->channel(), backend))); | 295 dispatcher->registerBackend("{{domain.domain}}", wrapUnique(new DispatcherIm
pl(dispatcher->channel(), backend))); |
| 296 } | 296 } |
| 297 | 297 |
| 298 } // {{domain.domain}} | 298 } // {{domain.domain}} |
| 299 } // namespace protocol | 299 } // namespace protocol |
| 300 } // namespace blink | 300 } // namespace blink |
| OLD | NEW |