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

Reply via email to