Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / templates / dictionary_impl.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY!
6
7 #ifndef {{cpp_class}}_h
8 #define {{cpp_class}}_h
9
10 {% for filename in header_includes %}
11 #include "{{filename}}"
12 {% endfor %}
13
14 namespace blink {
15
16 class {{cpp_class}} FINAL : public GarbageCollectedFinalized<{{cpp_class}}> {
17 public:
18     static {{cpp_class}}* create()
19     {
20         return new {{cpp_class}};
21     }
22
23     {% for member in members %}
24     bool {{member.has_method_name}}() const { return {{member.has_method_expression}}; }
25     {{member.rvalue_cpp_type}} {{member.name}}() const { return {{member.getter_expression}}; }
26     void {{member.setter_name}}({{member.rvalue_cpp_type}} value) { m_{{member.name}} = value;}
27     {% endfor %}
28
29     void trace(Visitor*);
30
31 private:
32     {{cpp_class}}();
33
34     {% for member in members %}
35     {{member.member_cpp_type}} m_{{member.name}};
36     {% endfor %}
37
38     friend class V8{{cpp_class}};
39 };
40
41 } // namespace blink
42
43 #endif // {{cpp_class}}_h