code_junkie

How do you free a wrapped C++ object when associated Javascript object is garbage collected in V8?

Nov 11th, 2011
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. void MakeWeak(void* parameters, WeakReferenceCallback callback);
  2.  
  3. typedef void (*WeakReferenceCallback)(Persistent<Object> object,
  4. void* parameter);
  5.  
  6. void CleanupV8Point(Persistent<Object> object, void*)
  7. {
  8. // do whatever cleanup on object that you're looking for
  9. object.destroyCppObjects();
  10. }
  11.  
  12. Parameter<ObjectTemplate> my_obj(ObjectTemplate::New());
  13.  
  14. // when the Javascript part of my_obj is about to be collected
  15. // we'll have V8 call CleanupV8Point(my_obj)
  16. my_obj.MakeWeak(NULL, &CleanupV8Point);
Add Comment
Please, Sign In to add comment