本文整理汇总了C++中ObjectId::serialNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectId::serialNumber方法的具体用法?C++ ObjectId::serialNumber怎么用?C++ ObjectId::serialNumber使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectId
的用法示例。
在下文中一共展示了ObjectId::serialNumber方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: obj
JSObject*
WrapperOwner::fromRemoteObjectVariant(JSContext* cx, const RemoteObject& objVar)
{
ObjectId objId = ObjectId::deserialize(objVar.serializedId());
RootedObject obj(cx, findCPOWById(objId));
if (!obj) {
// All CPOWs live in the privileged junk scope.
RootedObject junkScope(cx, xpc::PrivilegedJunkScope());
JSAutoRealm ar(cx, junkScope);
RootedValue v(cx, UndefinedValue());
// We need to setLazyProto for the getPrototype/getPrototypeIfOrdinary
// hooks.
ProxyOptions options;
options.setLazyProto(true);
obj = NewProxyObject(cx,
&CPOWProxyHandler::singleton,
v,
nullptr,
options);
if (!obj)
return nullptr;
if (!cpows_.add(objId, obj))
return nullptr;
nextCPOWNumber_ = objId.serialNumber() + 1;
// Incref once we know the decref will be called.
incref();
AuxCPOWData* aux = new AuxCPOWData(objId,
objVar.isCallable(),
objVar.isConstructor(),
objVar.isDOMObject(),
objVar.objectTag());
SetProxyReservedSlot(obj, 0, PrivateValue(this));
SetProxyReservedSlot(obj, 1, PrivateValue(aux));
}
if (!JS_WrapObject(cx, &obj))
return nullptr;
return obj;
}