void qtscript_initialize_jsmoke_phonon_bindings(QScriptValue& extensionObject) { static bool initialized = false; if (!initialized) { init_phonon_Smoke(); JSmoke::Module phonon_module = { "phonon", new JSmoke::Binding(phonon_Smoke) }; JSmoke::Global::modules[phonon_Smoke] = phonon_module; JSmoke::Marshall::installHandlers(JSmoke::PhononHandlers); initialized = true; } QScriptEngine* engine = extensionObject.engine(); JSmoke::Global::initializeClasses(engine, phonon_Smoke); JSmoke::registerPhononTypes(engine); return; }
Q_DECL_EXPORT void Init_phonon() { init_phonon_Smoke(); binding = QtRuby::Binding(phonon_Smoke); smokeList << phonon_Smoke; QtRubyModule module = { "Phonon", resolve_classname_phonon, 0, &binding }; qtruby_modules[phonon_Smoke] = module; install_handlers(Phonon_handlers); phonon_module = rb_define_module("Phonon"); phonon_internal_module = rb_define_module_under(phonon_module, "Internal"); rb_define_singleton_method(phonon_internal_module, "getClassList", (VALUE (*) (...)) getClassList, 0); rb_require("phonon/phonon.rb"); rb_funcall(phonon_internal_module, rb_intern("init_all_classes"), 0); }