Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1629)

Unified Diff: sky/engine/bindings2/scripts/templates/interface_h.template

Issue 914413004: Add a new bindings2/scripts directory for Dart bindings (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Remove idlrenderer.py it's not used Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/engine/bindings2/scripts/templates/interface_h.template
diff --git a/sky/engine/bindings2/scripts/templates/interface_h.template b/sky/engine/bindings2/scripts/templates/interface_h.template
new file mode 100644
index 0000000000000000000000000000000000000000..a5f823269a03ba41fc890708c5e7bda9aa5945a0
--- /dev/null
+++ b/sky/engine/bindings2/scripts/templates/interface_h.template
@@ -0,0 +1,60 @@
+// Copyright 2015 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.
+
+// WARNING: Do not edit - generated code.
+
+#ifndef GEN_SKY_BINDINGS_{{dart_class}}_H_
+#define GEN_SKY_BINDINGS_{{dart_class}}_H_
+
+{% for filename in header_includes %}
+#include "{{filename}}"
+{% endfor %}
+
+namespace blink {
+
+struct {{dart_class}} {
+ static bool hasInstance(Dart_Handle handle) {
+ // TODO(abarth): Need to look up the class_id from |handle| and compare with |dart_class_id|.
+ return false;
+ }
+
+ static Dart_NativeFunction Resolver(Dart_Handle name,
+ int argument_count,
+ bool* auto_scope);
+ static const uint8_t* Symbolizer(Dart_NativeFunction native_function);
+};
+
+namespace {{dart_class}}Internal {
+ {% from 'methods_cpp.template' import static_method_name %}
+
+ {% if has_custom_constructor %}
+ {# FIXME(vsm): Name this properly. #}
+ void constructorCallback(Dart_NativeArguments);
+ {% endif %}
+
+ {% if has_event_constructor %}
+ void initialize{{interface_name}}ForDart({{interface_name}}Init&, const String&, const HashMap<String, Dart_Handle>&, Dart_Handle&);
+ {% endif %}
+ {% for method in methods if method.is_custom_element_callbacks and not method.suppressed %}
+ void {{method.name}}_{{method.number_of_arguments}}(Dart_NativeArguments);
+ {% endfor %}
+ {% for method in methods if method.is_custom or method.custom_dart_new %}
+ void {{static_method_name(method.name)}}(Dart_NativeArguments args);
+ {% if method.overload_index == 1 %}
+ void {{static_method_name(method.name, 0)}}(Dart_NativeArguments args);
+ {% endif %}
+ {% endfor %}
+ {% for attribute in attributes %}
+ {% if attribute.has_custom_getter %}
+ void {{attribute.name}}Getter(Dart_NativeArguments);
+ {% endif %}
+ {% if attribute.has_custom_setter %}
+ void {{attribute.name}}Setter(Dart_NativeArguments);
+ {% endif %}
+ {% endfor %}
+}
+
+} // namespace blink
+
+#endif // GEN_SKY_BINDINGS_{{dart_class}}_H_

Powered by Google App Engine
This is Rietveld 408576698