Local<FunctionTemplate> FunctionTemplate::New(InvocationCallback callback, Handle<Value> data)
{
- Q_UNIMPLEMENTED();
+ FunctionTemplate *ft = new FunctionTemplate;
+ ft->m_callback = callback;
+ ft->m_data = Persistent<Value>::New(data);
+ return Local<FunctionTemplate>::New(Handle<FunctionTemplate>(ft));
}
Local<Function> FunctionTemplate::GetFunction()
Local<ObjectTemplate> FunctionTemplate::InstanceTemplate()
{
- Q_UNIMPLEMENTED();
+ if (!*m_instanceTemplate)
+ m_instanceTemplate = ObjectTemplate::New();
+ return m_instanceTemplate;
}
Local<ObjectTemplate> FunctionTemplate::PrototypeTemplate()
{
- Q_UNIMPLEMENTED();
+ if (!*m_prototypeTemplate)
+ m_prototypeTemplate = ObjectTemplate::New();
+ return m_prototypeTemplate;
}
Local<ObjectTemplate> ObjectTemplate::New()
{
- Q_UNIMPLEMENTED();
+ ObjectTemplate *ot = new ObjectTemplate;
+ return Local<ObjectTemplate>::New(Handle<ObjectTemplate>(ot));
}
Local<Object> ObjectTemplate::NewInstance()
/**
* The superclass of values and API object templates.
*/
-class V8EXPORT Data {
+class V8EXPORT Data : public QSharedData {
};
+DEFINE_REFCOUNTED_HANDLE_OPERATIONS(Data)
/**
* The origin, within a file, of a script.
*/
Local<ObjectTemplate> PrototypeTemplate();
+private:
+ InvocationCallback m_callback;
+ Persistent<Value> m_data;
+ Local<ObjectTemplate> m_instanceTemplate;
+ Local<ObjectTemplate> m_prototypeTemplate;
};