blob: 923d12bdb66e13e1253dd4d92e17f3853ed81d83 [file] [log] [blame]
{% filter format_blink_cpp_source_code %}
{% include 'copyright_block.txt' %}
#ifndef {{header_guard}}
#define {{header_guard}}
{% for include_file in header_includes %}
#include "{{include_file}}"
{% endfor %}
namespace blink {
class {{class_name.upper_camel_case}};
}
namespace web {
class {{class_name.upper_camel_case}} : public {% if not base_class -%}
blink::GarbageCollected<{{class_name.upper_camel_case}}>
{%- else -%}
{{base_class}}
{%- endif %} {
public:
virtual ~{{class_name.upper_camel_case}}() = default;
static {{class_name.upper_camel_case}}* Create(blink::{{class_name.upper_camel_case}}*);
{% if not base_class %}
void Trace(blink::Visitor*);
{% endif %}
protected:
explicit {{class_name.upper_camel_case}}(blink::{{class_name.upper_camel_case}}* {{class_name.snake_case}});
blink::{{class_name.upper_camel_case}}* {{class_name.snake_case}}() const;
{% if not base_class %}
private:
blink::Member<blink::{{class_name.upper_camel_case}}> {{class_name.snake_case}}_;
{% endif %}
};
} // namespace web
#endif // {{header_guard}}
{% endfilter %}