1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/ext/v8/v8_handle.h

28 lines
576 B
C
Raw Normal View History

2011-04-07 11:49:47 -05:00
#ifndef _RR_V8_HANDLE_
#define _RR_V8_HANDLE_
#include <v8.h>
#include "ruby.h"
struct v8_handle {
v8_handle(v8::Handle<void> object);
virtual ~v8_handle();
v8::Persistent<void> handle;
bool dead;
VALUE weakref_callback;
VALUE weakref_callback_parameters;
};
2011-04-07 11:49:47 -05:00
void rr_init_handle();
v8_handle* rr_v8_handle_raw(VALUE value);
template <class T> v8::Persistent<T>& rr_v8_handle(VALUE value) {
return (v8::Persistent<T>&)(rr_v8_handle_raw(value)->handle);
}
VALUE rr_v8_handle_new(VALUE rbclass, v8::Handle<void> handle);
2011-04-11 10:02:42 -05:00
VALUE rr_v8_handle_class();
2011-04-07 11:49:47 -05:00
#endif