Chromium Code Reviews| Index: third_party/WebKit/Source/platform/inspector_protocol/Exported_h.template |
| diff --git a/third_party/WebKit/Source/platform/inspector_protocol/Exported_h.template b/third_party/WebKit/Source/platform/inspector_protocol/Exported_h.template |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8e2b029f580cf44a1e11e3162f10591b198699aa |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/platform/inspector_protocol/Exported_h.template |
| @@ -0,0 +1,65 @@ |
| +// 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}}_exported_h |
| +#define protocol_{{domain.domain}}_exported_h |
| + |
| +{% if export_macro == "PLATFORM_EXPORT" %} |
| +#include "platform/inspector_protocol/Platform.h" |
| +{% else %} |
| +#include "core/CoreExport.h" |
| +{% endif %} |
| +#include "platform/inspector_protocol/String16.h" |
| + |
| +namespace blink { |
| +namespace protocol { |
| +namespace {{domain.domain}} { |
| +namespace Exported { |
| + |
| +// ------------- Exported enums. |
| + {% for type in domain.types %} |
| + {% if ("enum" in type) and type.exported %} |
| + |
| +namespace {{type.id}}Enum { |
| + {% for literal in type.enum %} |
| +{{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 %} |
| +{{export_macro}} extern const char* {{ literal | dash_to_camelcase}}; |
| + {% endfor %} |
| +} // {{param.name | to_title_case}}Enum |
| +} // {{command.name | to_title_case }} |
| + {% endif %} |
| + {% endfor %} |
| + {% endfor %} |
| + |
| +// ------------- Exported types. |
| + {% for type in domain.types %} |
| + {% if not (type.type == "object") or not ("properties" in type) or not (type.exported) %}{% continue %}{% endif %} |
| + |
| +class {{export_macro}} {{type.id}} { |
| +public: |
| + virtual String16 toJSONString() const; |
|
pfeldman
2016/07/22 18:02:40
= 0
dgozman
2016/07/22 21:21:19
Done.
|
| + virtual ~{{type.id}}() { } |
| + static std::unique_ptr<protocol::{{domain.domain}}::Exported::{{type.id}}> fromJSONString(const String16& json); |
| +}; |
| + {% endfor %} |
| + |
| +} // namespace Exported |
| +} // namespace {{domain.domain}} |
| +} // namespace protocol |
| +} // namespace blink |
| + |
| +#endif // !defined(protocol_{{domain.domain}}_exported_h) |