Hippy icon indicating copy to clipboard operation
Hippy copied to clipboard

【NAPI】在 class binding 的方法中,能否支持直接透传递当前类的 shared_ptr<CtxValue> 指针?

Open JimmyVV opened this issue 1 year ago • 3 comments

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

JimmyVV avatar Jun 19 '24 06:06 JimmyVV

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.

hippy-service[bot] avatar Aug 18 '24 19:08 hippy-service[bot]

已经收到哦~~~~

JimmyVV avatar Aug 18 '24 19:08 JimmyVV

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.

hippy-service[bot] avatar Oct 18 '24 19:10 hippy-service[bot]

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.

hippy-service[bot] avatar Nov 18 '24 19:11 hippy-service[bot]

已经收到哦~~~~

JimmyVV avatar Nov 18 '24 19:11 JimmyVV