| Index: third_party/inspector_protocol/templates/TypeBuilder_h.template
|
| diff --git a/third_party/inspector_protocol/templates/TypeBuilder_h.template b/third_party/inspector_protocol/templates/TypeBuilder_h.template
|
| index 000b2f5f56435e10ced35154b9b0606030ee316d..81dd7f20e57108c2ed42b7dde1f1153099f519c9 100644
|
| --- a/third_party/inspector_protocol/templates/TypeBuilder_h.template
|
| +++ b/third_party/inspector_protocol/templates/TypeBuilder_h.template
|
| @@ -16,7 +16,7 @@
|
| {% for name in domain.dependencies %}
|
| #include {{format_include(config.protocol.package, name)}}
|
| {% endfor %}
|
| -{% if domain["has_exports"] %}
|
| +{% if protocol.is_exported_domain(domain.domain) %}
|
| #include {{format_include(config.exported.package, domain.domain)}}
|
| {% endif %}
|
|
|
| @@ -37,7 +37,7 @@ using {{type.id}} = Object;
|
| {% endif %}
|
| {% elif type.type != "array" %}
|
| // {{type.description}}
|
| -using {{type.id}} = {{resolve_type(type).type}};
|
| +using {{type.id}} = {{protocol.resolve_type(type).type}};
|
| {% endif %}
|
| {% endfor %}
|
| {% for type in domain.types %}
|
| @@ -68,38 +68,40 @@ namespace {{param.name | to_title_case}}Enum {
|
| // ------------- Type and builder declarations.
|
| {% for type in domain.types %}
|
| {% if not (type.type == "object") or not ("properties" in type) %}{% continue %}{% endif %}
|
| - {% set type_def = type_definition(domain.domain + "." + type.id)%}
|
|
|
| // {{type.description}}
|
| -class {{config.protocol.export_macro}} {{type.id}} : public Serializable{% if type.exported %}, public API::{{type.id}}{% endif %}{
|
| +class {{config.protocol.export_macro}} {{type.id}} : public Serializable{% if protocol.is_exported(domain.domain, type.id) %}, public API::{{type.id}}{% endif %}{
|
| PROTOCOL_DISALLOW_COPY({{type.id}});
|
| public:
|
| static std::unique_ptr<{{type.id}}> fromValue(protocol::Value* value, ErrorSupport* errors);
|
|
|
| ~{{type.id}}() override { }
|
| {% for property in type.properties %}
|
| + {% set property_type = protocol.resolve_type(property) %}
|
| + {% set property_name = property.name | to_title_case %}
|
| + {% set property_field = "m_" + property.name %}
|
| {% if "enum" in property %}
|
|
|
| - struct {{config.protocol.export_macro}} {{property.name | to_title_case}}Enum {
|
| + struct {{config.protocol.export_macro}} {{property_name}}Enum {
|
| {% for literal in property.enum %}
|
| static const char* {{literal | dash_to_camelcase}};
|
| {% endfor %}
|
| - }; // {{property.name | to_title_case}}Enum
|
| + }; // {{property_name}}Enum
|
| {% endif %}
|
|
|
| {% if property.optional %}
|
| - bool {{"has" | to_method_case}}{{property.name | to_title_case}}() { return m_{{property.name}}.isJust(); }
|
| - {{resolve_type(property).raw_return_type}} {{"get" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).raw_pass_type}} defaultValue) { return m_{{property.name}}.isJust() ? m_{{property.name}}.fromJust() : defaultValue; }
|
| + bool {{"has" | to_method_case}}{{property_name}}() { return {{property_field}}.isJust(); }
|
| + {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}({{property_type.raw_pass_type}} defaultValue) { return {{property_field}}.isJust() ? {{property_field}}.fromJust() : defaultValue; }
|
| {% else %}
|
| - {{resolve_type(property).raw_return_type}} {{"get" | to_method_case}}{{property.name | to_title_case}}() { return {{resolve_type(property).to_raw_type % ("m_" + property.name)}}; }
|
| + {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}() { return {{property_type.to_raw_type % property_field}}; }
|
| {% endif %}
|
| - void {{"set" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).pass_type}} value) { m_{{property.name}} = {{resolve_type(property).to_rvalue % "value"}}; }
|
| + void {{"set" | to_method_case}}{{property_name}}({{property_type.pass_type}} value) { {{property_field}} = {{property_type.to_rvalue % "value"}}; }
|
| {% endfor %}
|
|
|
| std::unique_ptr<protocol::DictionaryValue> toValue() const;
|
| String serialize() override { return toValue()->serialize(); }
|
| std::unique_ptr<{{type.id}}> clone() const;
|
| - {% if type.exported %}
|
| + {% if protocol.is_exported(domain.domain, type.id) %}
|
| {{config.exported.string_out}} toJSONString() const override;
|
| {% endif %}
|
|
|
| @@ -121,19 +123,21 @@ public:
|
| {% endfor %}0)};
|
|
|
| {% for property in type.properties %}
|
| + {% set property_type = protocol.resolve_type(property) %}
|
| + {% set property_name = property.name | to_title_case %}
|
|
|
| {% if property.optional %}
|
| - {{type.id}}Builder<STATE>& {{"set" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).pass_type}} value)
|
| + {{type.id}}Builder<STATE>& {{"set" | to_method_case}}{{property_name}}({{property_type.pass_type}} value)
|
| {
|
| - m_result->{{"set" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).to_rvalue % "value"}});
|
| + m_result->{{"set" | to_method_case}}{{property_name}}({{property_type.to_rvalue % "value"}});
|
| return *this;
|
| }
|
| {% else %}
|
| - {{type.id}}Builder<STATE | {{property.name | to_title_case}}Set>& {{"set" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).pass_type}} value)
|
| + {{type.id}}Builder<STATE | {{property_name}}Set>& {{"set" | to_method_case}}{{property_name}}({{property_type.pass_type}} value)
|
| {
|
| - static_assert(!(STATE & {{property.name | to_title_case}}Set), "property {{property.name}} should not be set yet");
|
| - m_result->{{"set" | to_method_case}}{{property.name | to_title_case}}({{resolve_type(property).to_rvalue % "value"}});
|
| - return castState<{{property.name | to_title_case}}Set>();
|
| + static_assert(!(STATE & {{property_name}}Set), "property {{property.name}} should not be set yet");
|
| + m_result->{{"set" | to_method_case}}{{property_name}}({{property_type.to_rvalue % "value"}});
|
| + return castState<{{property_name}}Set>();
|
| }
|
| {% endif %}
|
| {% endfor %}
|
| @@ -153,7 +157,7 @@ public:
|
| return *reinterpret_cast<{{type.id}}Builder<STATE | STEP>*>(this);
|
| }
|
|
|
| - {{type_def.type}} m_result;
|
| + {{protocol.type_definition(domain.domain + "." + type.id).type}} m_result;
|
| };
|
|
|
| static {{type.id}}Builder<0> {{"create" | to_method_case}}()
|
| @@ -165,17 +169,17 @@ private:
|
| {{type.id}}()
|
| {
|
| {% for property in type.properties %}
|
| - {% if not(property.optional) and "default_value" in resolve_type(property) %}
|
| - m_{{property.name}} = {{resolve_type(property).default_value}};
|
| + {% if not(property.optional) and "default_value" in protocol.resolve_type(property) %}
|
| + m_{{property.name}} = {{protocol.resolve_type(property).default_value}};
|
| {%endif %}
|
| {% endfor %}
|
| }
|
|
|
| {% for property in type.properties %}
|
| {% if property.optional %}
|
| - Maybe<{{resolve_type(property).raw_type}}> m_{{property.name}};
|
| + Maybe<{{protocol.resolve_type(property).raw_type}}> m_{{property.name}};
|
| {% else %}
|
| - {{resolve_type(property).type}} m_{{property.name}};
|
| + {{protocol.resolve_type(property).type}} m_{{property.name}};
|
| {% endif %}
|
| {% endfor %}
|
| };
|
| @@ -190,16 +194,16 @@ public:
|
|
|
| {% for command in domain.commands %}
|
| {% if "redirect" in command %}{% continue %}{% endif %}
|
| - {% if not generate_command(domain.domain, command.name) %}{% continue %}{% endif %}
|
| - {% if is_async_command(domain.domain, command.name) %}
|
| + {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %}
|
| + {% if protocol.is_async_command(domain.domain, command.name) %}
|
| class {{config.protocol.export_macro}} {{command.name | to_title_case}}Callback {
|
| public:
|
| virtual void sendSuccess(
|
| {%- for parameter in command.returns -%}
|
| {%- if "optional" in parameter -%}
|
| - Maybe<{{resolve_type(parameter).raw_type}}> {{parameter.name}}
|
| + Maybe<{{protocol.resolve_type(parameter).raw_type}}> {{parameter.name}}
|
| {%- else -%}
|
| - {{resolve_type(parameter).pass_type}} {{parameter.name}}
|
| + {{protocol.resolve_type(parameter).pass_type}} {{parameter.name}}
|
| {%- endif -%}
|
| {%- if not loop.last -%}, {% endif -%}
|
| {%- endfor -%}
|
| @@ -209,7 +213,7 @@ public:
|
| virtual ~{{command.name | to_title_case}}Callback() { }
|
| };
|
| {% endif %}
|
| - {%- if not is_async_command(domain.domain, command.name) %}
|
| + {%- if not protocol.is_async_command(domain.domain, command.name) %}
|
| virtual DispatchResponse {{command.name | to_method_case}}(
|
| {%- else %}
|
| virtual void {{command.name | to_method_case}}(
|
| @@ -217,28 +221,28 @@ public:
|
| {%- for parameter in command.parameters -%}
|
| {%- if not loop.first -%}, {% endif -%}
|
| {%- if "optional" in parameter -%}
|
| - Maybe<{{resolve_type(parameter).raw_type}}> in_{{parameter.name}}
|
| + Maybe<{{protocol.resolve_type(parameter).raw_type}}> in_{{parameter.name}}
|
| {%- else -%}
|
| - {{resolve_type(parameter).pass_type}} in_{{parameter.name}}
|
| + {{protocol.resolve_type(parameter).pass_type}} in_{{parameter.name}}
|
| {%- endif -%}
|
| {%- endfor -%}
|
| - {%- if is_async_command(domain.domain, command.name) -%}
|
| + {%- if protocol.is_async_command(domain.domain, command.name) -%}
|
| {%- if command.parameters -%}, {% endif -%}
|
| std::unique_ptr<{{command.name | to_title_case}}Callback> callback
|
| {%- else -%}
|
| {%- for parameter in command.returns -%}
|
| {%- if (not loop.first) or command.parameters -%}, {% endif -%}
|
| {%- if "optional" in parameter -%}
|
| - Maybe<{{resolve_type(parameter).raw_type}}>* out_{{parameter.name}}
|
| + Maybe<{{protocol.resolve_type(parameter).raw_type}}>* out_{{parameter.name}}
|
| {%- else -%}
|
| - {{resolve_type(parameter).type}}* out_{{parameter.name}}
|
| + {{protocol.resolve_type(parameter).type}}* out_{{parameter.name}}
|
| {%- endif -%}
|
| {%- endfor -%}
|
| {%- endif -%}
|
| ) = 0;
|
| {% endfor %}
|
|
|
| - {% if generate_disable(domain) %}
|
| + {% if protocol.generate_disable(domain) %}
|
| virtual DispatchResponse {{"disable" | to_method_case}}()
|
| {
|
| return DispatchResponse::OK();
|
| @@ -252,13 +256,13 @@ class {{config.protocol.export_macro}} Frontend {
|
| public:
|
| explicit Frontend(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { }
|
| {% for event in domain.events %}
|
| - {% if not generate_event(domain.domain, event.name) %}{% continue %}{% endif %}
|
| + {% if not protocol.generate_event(domain.domain, event.name) %}{% continue %}{% endif %}
|
| void {{event.name | to_method_case}}(
|
| {%- for parameter in event.parameters -%}
|
| {%- if "optional" in parameter -%}
|
| - Maybe<{{resolve_type(parameter).raw_type}}> {{parameter.name}} = Maybe<{{resolve_type(parameter).raw_type}}>()
|
| + Maybe<{{protocol.resolve_type(parameter).raw_type}}> {{parameter.name}} = Maybe<{{protocol.resolve_type(parameter).raw_type}}>()
|
| {%- else -%}
|
| - {{resolve_type(parameter).pass_type}} {{parameter.name}}
|
| + {{protocol.resolve_type(parameter).pass_type}} {{parameter.name}}
|
| {%- endif -%}{%- if not loop.last -%}, {% endif -%}
|
| {%- endfor -%}
|
| );
|
|
|