| // This file is generated |
| |
| // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef protocol_{{domain.domain}}_api_h |
| #define protocol_{{domain.domain}}_api_h |
| |
| #include "{{config.class_export.header}}" |
| #include "{{config.lib_package}}/InspectorProtocol.h" |
| |
| namespace blink { |
| namespace protocol { |
| namespace {{domain.domain}} { |
| namespace API { |
| |
| // ------------- Enums. |
| {% for type in domain.types %} |
| {% if ("enum" in type) and type.exported %} |
| |
| namespace {{type.id}}Enum { |
| {% for literal in type.enum %} |
| {{config.class_export.macro}} extern const char* {{ literal | dash_to_camelcase}}; |
| {% endfor %} |
| } // {{type.id}}Enum |
| {% endif %} |
| {% endfor %} |
| {% for command in join_arrays(domain, ["commands", "events"]) %} |
| {% for param in join_arrays(command, ["parameters", "returns"]) %} |
| {% if ("enum" in param) and (param.exported) %} |
| |
| namespace {{command.name | to_title_case}} { |
| namespace {{param.name | to_title_case}}Enum { |
| {% for literal in param.enum %} |
| {{config.class_export.macro}} extern const char* {{ literal | dash_to_camelcase}}; |
| {% endfor %} |
| } // {{param.name | to_title_case}}Enum |
| } // {{command.name | to_title_case }} |
| {% endif %} |
| {% endfor %} |
| {% endfor %} |
| |
| // ------------- Types. |
| {% for type in domain.types %} |
| {% if not (type.type == "object") or not ("properties" in type) or not (type.exported) %}{% continue %}{% endif %} |
| |
| class {{config.class_export.macro}} {{type.id}} { |
| public: |
| virtual String16 toJSONString() const = 0; |
| virtual ~{{type.id}}() { } |
| static std::unique_ptr<protocol::{{domain.domain}}::API::{{type.id}}> fromJSONString(const String16& json); |
| }; |
| {% endfor %} |
| |
| } // namespace API |
| } // namespace {{domain.domain}} |
| } // namespace protocol |
| } // namespace blink |
| |
| #endif // !defined(protocol_{{domain.domain}}_api_h) |