That's what I ended up doing. I use an External to wrap a jobject. I saw this method in the pyv8 project. So I am using the same callback for every function and delegating based on the data in the Arguments. Thanks again.
On Feb 22, 6:00 pm, Abdulla Kamar <[email protected]> wrote: > When you create a function with v8::FunctionTemplate::New(), you can > optionally pass a v8::Value along with it. This value can be a pointer to a > class that you can get when your callback is invoked by using > v8::Arguments::Data(). Hopefully that helps. > > > > On Tue, Feb 23, 2010 at 6:08 AM, cretz <[email protected]> wrote: > > I am sorry to revive an old thread, but I am running in to the same > > issue. I am trying to make a JSR-223 compatible Java bridge to V8. I > > also need dynamic function binding. I am unable to see the pastebin > > since it has expired. Can someone repost? > > > Also, I prefer to use pure V8 w/out the v8-juice project. Does anyone > > know the best way to dynamically bind functions at runtime? I was > > considering binding all functions to a single function and obtaining > > some form of unique identification from the Arguments object. Any help > > is appreciated. > > > On Jan 8, 5:42 am, Stephan Beal <[email protected]> wrote: > > > On Fri, Jan 8, 2010 at 4:02 AM, dominiek <[email protected]> wrote: > > > > Is there any hack you can think of that allows me to do it anyway? > > > > Providing callbacks to non-static member functions is essential for > > > > writing scripting language extensions. > > > > A callback to a non-static member function always requires an instance of > > > that class. Aside from that, binding a member function is very similar to > > > binding a non-member function (with the additional step of decoding the > > > native "this" object before calling the native member function). > > > > The v8-juice project provides support for binding any of the following > > C++ > > > constructs to v8: > > > > - free functions > > > - member functions (if the class containing the member is also wrapped) > > > - member variables, either via the Accessor interceptors or by binding > > > functions to them, such that the functions are called in place of the > > > get/set operations. > > > - static variables, whether member or free. > > > > You might find it useful for your project. > > > > The main project page:http://code.google.com/p/v8-juice/ > > > > Some useful wiki pages: > > > > How the type conversions work: > >http://code.google.com/p/v8-juice/wiki/ConvertingTypes > > > (that part is central to the whole binding mechanism) > > > > Binding free functions: > >http://code.google.com/p/v8-juice/wiki/BindingFunctions > > > > Binding classes (including member funcs/variables): > >http://code.google.com/p/v8-juice/wiki/ClassWrap > > > > > P.S. My C++ is a bit rusty, but I've been digging > > > > into this problem for quite some hours now. > > > > Given that: be aware that generic binding mechanisms require either code > > > generators (i'm not aware of any for v8, unless one counts macros) or > > rather > > > intricate templates-based mechanisms. Thus you may want to brush up on > > your > > > C++ before undertaking any significant JS/C++ binding projects. Simple > > (or > > > "brute force") bindings can be done without too much C++ know-how, but > > > generic solutions to the problem require a fairly good understanding of > > C++ > > > templates (or a hypothetical code generator). > > > > -- > > > ----- stephan bealhttp://wanderinghorse.net/home/stephan/ > > > -- > > v8-users mailing list > > [email protected] > >http://groups.google.com/group/v8-users > > -- > Thank you > Abdulla -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
