本文整理汇总了C++中Wrapper::enter方法的典型用法代码示例。如果您正苦于以下问题:C++ Wrapper::enter方法的具体用法?C++ Wrapper::enter怎么用?C++ Wrapper::enter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wrapper
的用法示例。
在下文中一共展示了Wrapper::enter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
js::UnwrapObjectChecked(JSContext *cx, JSObject *obj)
{
while (obj->isWrapper() &&
!JS_UNLIKELY(!!obj->getClass()->ext.innerObject)) {
JSObject *wrapper = obj;
Wrapper *handler = Wrapper::wrapperHandler(obj);
bool rvOnFailure;
if (!handler->enter(cx, wrapper, JSID_VOID,
Wrapper::PUNCTURE, &rvOnFailure))
return rvOnFailure ? obj : NULL;
obj = Wrapper::wrappedObject(obj);
JS_ASSERT(obj);
}
return obj;
}
示例2:
js::UnwrapOneChecked(JSContext *cx, JSObject *obj)
{
// Checked unwraps should never unwrap outer windows.
if (!obj->isWrapper() ||
JS_UNLIKELY(!!obj->getClass()->ext.innerObject))
{
return obj;
}
Wrapper *handler = Wrapper::wrapperHandler(obj);
bool rvOnFailure;
if (!handler->enter(cx, obj, JSID_VOID,
Wrapper::PUNCTURE, &rvOnFailure))
{
return rvOnFailure ? obj : NULL;
}
obj = Wrapper::wrappedObject(obj);
JS_ASSERT(obj);
return obj;
}