// 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. #include "{{dart_class}}.h" {% for filename in cpp_includes %} #include "{{filename}}" {% endfor %} namespace blink { static void RefObject(DartWrappable* impl) { static_cast<{{cpp_class}}*>(impl)->ref(); } static void DerefObject(DartWrappable* impl) { static_cast<{{cpp_class}}*>(impl)->deref(); } static const DartWrapperInfo kDartWrapperInfo = { "{{interface_name}}", sizeof({{cpp_class}}), &RefObject, &DerefObject, }; const DartWrapperInfo& {{cpp_class}}::dart_wrapper_info_ = kDartWrapperInfo; namespace {{dart_class}}Internal { {% from 'methods_cpp.template' import generate_constructor, generate_event_constructor, generate_method, method_callback, overload_resolution_method with context %} {# Constructors #} {% for constructor in constructors %} {{generate_constructor(constructor, constructor.number_of_arguments)}} {% endfor %} {% block overloaded_constructor %}{% endblock %} {% if named_constructor %} {{generate_constructor(named_constructor, named_constructor.number_of_arguments)}} {% endif %} {% if has_event_constructor %} {{generate_event_constructor()}} {% endif %} {# Attributes getters/setters. #} {% from 'attributes_cpp.template' import attribute_getter, attribute_getter_callback, attribute_setter, attribute_setter_callback with context %} {% for attribute in attributes %} {% if not attribute.has_custom_getter %} {{attribute_getter(cpp_class, attribute)}} {% endif %} {# FIXME I'm disabling put_forwards for now since we didn't support it before #} {# https://code.google.com/p/dart/issues/detail?id=18784 #} {# {% if not attribute.has_custom_setter and (not attribute.is_read_only or attribute.put_forwards) %}#} {% if not attribute.has_custom_setter and not attribute.is_read_only %} {{attribute_setter(cpp_class, attribute)}} {% endif %} {% endfor %} {# Methods #} {% for method in methods %} {% if not method.is_custom and not method.suppressed %} {{generate_method(method, method.number_of_arguments)}} {% endif %} {% if method.overloads %} {{overload_resolution_method(method)}} {% endif %} {% endfor %} {% block named_property_getter %}{% endblock %} {% block named_property_setter %}{% endblock %} {% block indexed_property_getter %}{% endblock %} } Dart_NativeFunction {{dart_class}}::Resolver(Dart_Handle nameHandle, int argumentCount, bool* autoSetupScope) { String name = StringFromDart(nameHandle); {% from 'methods_cpp.template' import generate_resolver_constructor with context %} {% from 'methods_cpp.template' import generate_resolver_event_constructor with context %} {# Resolver Constructors #} {% for constructor in constructors %} {{generate_resolver_constructor(dart_class, interface_name, constructor) | indent(4)}} {% endfor %} {% from 'methods_cpp.template' import generate_resolver_custom_constructor with context %} {# Resolver Custom Constructors #} {% for constructor in custom_constructors %} {{generate_resolver_constructor(dart_class, interface_name, constructor) | indent(4)}} {% endfor %} {% if named_constructor %} {{generate_resolver_constructor(dart_class, interface_name, named_constructor) | indent(4)}} {% endif %} {% if has_event_constructor %} {{generate_resolver_event_constructor(dart_class, interface_name) | indent(4)}} {% endif %} {# Resolver Attributes #} {% from 'attributes_cpp.template' import generate_attribute_resolver_body %} {% for attribute in attributes %} {{generate_attribute_resolver_body(dart_class, interface_name, attribute) | indent(4)}} {% endfor %} {# Resolver Methods #} {% from 'methods_cpp.template' import generate_resolver_body with context %} {% for method in methods if not method.suppressed %} {{generate_resolver_body(dart_class, interface_name, method) | indent(4)}} {% endfor %} {# Special operations (methods) #} {# TODO(terry): Only emit indexed getter for DataTransferItemList; emit for interfaces. #} {% block indexed_property_getter_resolver %}{% endblock %} {% block named_property_getter_resolver %}{% endblock %} {% block named_property_setter_resolver %}{% endblock %} return 0; } const uint8_t* {{dart_class}}::Symbolizer(Dart_NativeFunction native_function) { {% from 'methods_cpp.template' import generate_symbolizer_constructor with context %} {% for constructor in constructors %} {{generate_symbolizer_constructor(dart_class, interface_name, constructor) | indent(4)}} {% endfor %} {% for constructor in custom_constructors %} {{generate_symbolizer_constructor(dart_class, interface_name, constructor) | indent(4)}} {% endfor %} {% if named_constructor %} {{generate_symbolizer_constructor(dart_class, interface_name, named_constructor) | indent(4)}} {% endif %} {% from 'attributes_cpp.template' import generate_attribute_symbolizer_body %} {% for attribute in attributes %} {{generate_attribute_symbolizer_body(dart_class, interface_name, attribute) | indent(4)}} {% endfor %} {% from 'methods_cpp.template' import generate_symbolizer_body with context %} {% for method in methods if not method.suppressed %} {{generate_symbolizer_body(dart_class, interface_name, method) | indent(4)}} {% endfor %} {% block generate_symbolizer_named_property_getter %}{% endblock %} {% block generate_symbolizer_named_property_setter %}{% endblock %} {% block generate_symbolizer_indexed_property_getter %}{% endblock %} return 0; } } // namespace blink