}
+// Internal only.
+Handle<Value>
+MakeCallback(const Handle<Object> object,
+ uint32_t index,
+ int argc,
+ Handle<Value> argv[]) {
+ HandleScope scope(node_isolate);
+
+ Local<Function> callback = object->Get(index).As<Function>();
+ assert(callback->IsFunction());
+
+ if (using_domains)
+ return scope.Close(MakeDomainCallback(object, callback, argc, argv));
+ return scope.Close(MakeCallback(object, callback, argc, argv));
+}
+
+
Handle<Value>
MakeCallback(const Handle<Object> object,
const Handle<String> symbol,
v8::Isolate* isolate,
const v8::Persistent<TypeName>& persistent);
+v8::Handle<v8::Value> MakeCallback(
+ const v8::Handle<v8::Object> recv,
+ uint32_t index,
+ int argc,
+ v8::Handle<v8::Value>* argv);
+
template <typename TypeName>
v8::Handle<v8::Value> MakeCallback(
const v8::Persistent<v8::Object>& recv,