Example #1
0
// 初期化用
void
TJSInstance::init(Isolate *isolate, Local<ObjectTemplate> &globalTemplate)
{
	HandleScope handle_scope(isolate);
	// ネイティブインスタンス登録用クラスID記録
	classId = TJSRegisterNativeClass(L"JavascriptClass");
	// メソッドを登録
	globalTemplate->Set(String::NewFromUtf8(isolate, "createTJSClass"), FunctionTemplate::New(isolate, createTJSClass));
}
Example #2
0
// 初期化用
void
TJSObject::init(HSQUIRRELVM vm)
{
    // squirrel インスタンスを TJS側で保持するためのIDを取得
    classId = TJSRegisterNativeClass(L"SquirrelClass");

    // TJSObjectクラスを定義
    SQTemplate<TJSObject, sqobject::Object> cls(vm);

    // メソッド登録
    sq_pushroottable(vm);
    sq_pushstring(vm, _SC("createTJSClass"), -1);
    sq_newclosure(vm, createTJSClass, 0);
    sq_createslot(vm, -3);
    sq_pushstring(vm, _SC("tjsNull"), -1);
    sq_pushuserpointer(vm, NULL);
    sq_createslot(vm, -3);
    sq_pop(vm, 1);
}