【NAPI】在 class binding 的方法中,能否支持直接透传递当前类的 shared_ptr<CtxValue> 指针?
Is your feature request related to a problem? Please describe. 现在遇到一个问题,通过一个类方法去创建另外一个类时,子对象需要有个属性指像创建对象。
但现在的设计下,没有办法做到
let mediaElemenet = new MediaElement();
mediaElement.maxSize = 2000;
let context = mediaElement.getContext();
context.element.maxSize;
Describe the solution you'd like 这里希望在方法中,能够有办法获得当前实例对象的指针。
FunctionDefine<MediaElement> addPath;
addPath.name = "addPath";
addPath.callback = [weak_scope](MediaElement *thiz,
size_t argument_count,
const std::shared_ptr<CtxValue> arguments[],
std::shared_ptr<CtxValue> &exception) -> std::shared_ptr<CtxValue> {
auto scope = weak_scope.lock();
if (!scope) {
return nullptr;
}
auto context = scope->GetContext();
if (argument_count == 0) {
exception = context->CreateException("Path2D::addPath need to have at least 1 argument");
return nullptr;
}
auto context_class = scope->GetJavascriptClass("MediaContext");
// @note: 能否有全局方法实现?
std::shared_ptr<CtxValue> argv[] = {
// thiz->Holder()
};
auto context = context->NewInstance(context_class, 1, argv, nullptr);
return context;
};
Describe alternatives you've considered
Additional context
Pay attention 🛎️ !! There has been no activity on this issue for 2 months, so I will label it stalled. It will be automatically closed in 60 days if no more activity. Feel free to leave a comment if you have any questions.
已经收到哦~~~~
Pay attention 🛎️ !! There has been no activity on this issue for 2 months, so I will label it stalled. It will be automatically closed in 60 days if no more activity. Feel free to leave a comment if you have any questions.
Sorry, closing this issue because it has stalled for over 3 months. Feel free to reopen if this issue is still relevant, or to ping the collaborator if you have any questions.
已经收到哦~~~~