info[0] is a flag to determine if the weak, persistent, or multiple reference ObjectReference is being requested.
| 399 | // info[0] is a flag to determine if the weak, persistent, or |
| 400 | // multiple reference ObjectReference is being requested. |
| 401 | Number RefObjects(const CallbackInfo& info) { |
| 402 | Env env = info.Env(); |
| 403 | uint32_t num; |
| 404 | |
| 405 | if (info[0] == String::New(env, "weak")) { |
| 406 | num = weak.Ref(); |
| 407 | } else if (info[0] == String::New(env, "persistent")) { |
| 408 | num = persistent.Ref(); |
| 409 | } else if (info[0] == String::New(env, "references")) { |
| 410 | num = reference.Ref(); |
| 411 | } else if (info[0] == String::New(env, "casted weak")) { |
| 412 | num = casted_weak.Ref(); |
| 413 | } else if (info[0] == String::New(env, "casted persistent")) { |
| 414 | num = casted_persistent.Ref(); |
| 415 | } else { |
| 416 | num = casted_reference.Ref(); |
| 417 | } |
| 418 | |
| 419 | return Number::New(env, num); |
| 420 | } |
| 421 | |
| 422 | Object InitObjectReference(Env env) { |
| 423 | Object exports = Object::New(env); |