Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / templates / callback_interface.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 {{v8_class}}_h
8 #define {{v8_class}}_h
9
10 {% filter conditional(conditional_string) %}
11 {% for filename in header_includes %}
12 #include "{{filename}}"
13 {% endfor %}
14
15 namespace blink {
16
17 class {{v8_class}} final : public {{cpp_class}}, public ActiveDOMCallback {
18 public:
19     static {{v8_class}}* create(v8::Handle<v8::Function> callback, ScriptState* scriptState)
20     {
21         return new {{v8_class}}(callback, scriptState);
22     }
23
24     virtual ~{{v8_class}}();
25
26 {% for method in methods %}
27     virtual {{method.cpp_type}} {{method.name}}({{method.argument_declarations | join(', ')}}) override;
28 {% endfor %}
29 private:
30     {{v8_class}}(v8::Handle<v8::Function>, ScriptState*);
31
32     ScopedPersistent<v8::Function> m_callback;
33     RefPtr<ScriptState> m_scriptState;
34 };
35
36 }
37 {% endfilter %}
38 #endif // {{v8_class}}_h