#ifndef {{v8_class}}_h
#define {{v8_class}}_h
{% filter conditional(conditional_string) %}
{% for filename in header_includes %}
#include "{{filename}}"
{% endfor %}
namespace WebCore {
class ExecutionContext;
class {{v8_class}} FINAL : public {{cpp_class}}, public ActiveDOMCallback {
public:
static PassOwnPtr<{{v8_class}}> create(v8::Handle<v8::Function> callback, ExecutionContext* context)
{
ASSERT(context);
return adoptPtr(new {{v8_class}}(callback, context));
}
virtual ~{{v8_class}}();
{% for method in methods %}
virtual {{method.cpp_type}} {{method.name}}({{method.argument_declarations | join(', ')}}) OVERRIDE;
{% endfor %}
private:
{{v8_class}}(v8::Handle<v8::Function>, ExecutionContext*);
ScopedPersistent<v8::Function> m_callback;
RefPtr<NewScriptState> m_scriptState;
};
}
{% endfilter %}
#endif