Hey,

Currently I have a data structure that is a little something like this in 
C++:
*Team *(class with properties e.g. Name, ID, etc.)
    |____* Members* (again has it's own properties, e.g. Name. Team holds a 
vector of pointers to Member objects.)

I want this to work like this in JS:
Team.Name gives the Team's name (same for ID, etc.)
Team.Members[0].Name gives the Team's first member's name (again same for 
other basic properties of the Member class.)


I can implement the basic Team class by creating an ObjectTemplate and 
binding a named property getter callback (this is done the same as the 
process.cc example, really) which will return things like Team.Id, 
Team.Name just fine. 
However, I'm unsure how to implement the Team.Members part. If I implement 
it by doing something like this in Team's named property getter callback:
if (property_s == "Members") { // property_s is just the property argument 
casted to a c++ string
    Local<Object> owner_obj = self->wrap_members(&team->members); // 
wrap_members returns a Members object based on an ObjectTemplate with 
indexed property callbacks
    info.GetReturnValue().Set(owner_obj);
}
where wrap_members returns an Object created from ObjectTemplate with an 
*indexed* property getter callback then I can get it working to some 
degree, e.g. Team.Members[0] will return the correct name for the first 
Team member (I set it to just return the name for testing purposes.) My 
plan after this would be to make it so that the callback for Team.Members[x] 
would return yet another object based on an ObjectTemplate which then 
contains the information about that team member (Name, ID, etc.)

However my issues right now are:

   - Is this really the best way to implement this structure? It seems like 
   I'm creating a lot of ObjectTemplates
   - How can I implement .length for Team.Members? Do I have to also bind a 
   named propeerty getter callback function to it? This leaves me creating 
   even more functions.
   - How do I throw an out-of-bounds error or the like if the index 
   provided is out of bounds?
   

I'm not sure if my explanation is understandable, please reply if it's not 
and I'll try and improve it. Thanks.

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to