as_s_function::as_s_function(player* player, const action_buffer* ab, int start, const array<with_stack_entry>& with_stack) : as_function(player), m_with_stack(with_stack), m_start_pc(start), m_length(0), m_is_function2(false), m_local_register_count(0), m_function2_flags(0) { // Flash stores a body(functions) of a class in _global, // action_buffer is in movie_def, therefore when we load another _root // action_buffer will be deleted and _global.MyClass will keep // the pointer to the removed object(action_buffer). // Therefore we have updated action_buffer* ==> action_buffer in as_s_function assert(ab); m_action_buffer = *ab; m_this_ptr = this; // any function MUST have prototype builtin_member("prototype", new as_object(player)); builtin_member("call", as_s_function_call); }
as_mouse::as_mouse(player* player) : as_object(player) { builtin_member("hide", as_mouse_hide); builtin_member("show", as_mouse_show); builtin_member("addListener", as_mouse_add_listener); builtin_member("removeListener", as_mouse_remove_listener); }
as_point::as_point(player* player, float x, float y) : as_object(player), m_point( x, y ) { builtin_member("add", as_point_add); builtin_member("subtract", as_point_subtract); builtin_member("normalize", as_point_normalize); }
as_mcloader::as_mcloader(player* player) : as_object(player) { builtin_member("addListener", as_mcloader_addlistener); builtin_member("removeListener", as_mcloader_removelistener); builtin_member("loadClip", as_mcloader_loadclip); builtin_member("unloadClip", as_mcloader_unloadclip); builtin_member("getProgress", as_mcloader_getprogress); }
as_xmlsock::as_xmlsock(player* player) : as_object(player), m_iface(NULL), m_ns(NULL) { builtin_member("connect", as_xmlsock_connect); builtin_member("close", as_xmlsock_close); builtin_member("send", as_xmlsock_send); m_iface = new net_interface_tcp(); }
as_c_function::as_c_function(player* player, as_c_function_ptr func) : as_function(player), m_func(func) { // any function MUST have prototype builtin_member("prototype", new as_object(player)); }
sqlite_table::sqlite_table(player* player) : sql_table(player), m_index(0) { builtin_member("size", size_method); builtin_member("next", next_method); builtin_member("prev", prev_method); builtin_member("first", first_method); builtin_member("fields", field_count_method); builtin_member("goto", goto_record_method); builtin_member("title", get_title_method); builtin_member("toString", to_string_method); builtin_member("getRecNo", to_get_recno_method); }
as_array::as_array(player* player) : as_object(player) { // this->set_member("join", &array_not_impl); // this->set_member("concat", &array_not_impl); // this->set_member("slice", &array_not_impl); // this->set_member("unshift", &array_not_impl); // this->set_member("shift", &array_not_impl); // this->set_member("splice", &array_not_impl); // this->set_member("sort", &array_not_impl); // this->set_member("sortOn", &array_not_impl); // this->set_member("reverse", &array_not_impl); builtin_member("toString", as_array_tostring); builtin_member("push", as_array_push); builtin_member("pop", as_array_pop); builtin_member("length", as_value(as_array_length, NULL)); set_ctor(as_global_array_ctor); }
file::file(player* player, const tu_string& path, const tu_string& mode) : as_object(player), m_file(NULL) { // is path relative ? tu_string file_name = get_player()->get_workdir(); if (strstr(path.c_str(), ":") || *path.c_str() == '/') { file_name = ""; } file_name += path; m_file = new tu_file(file_name.c_str(), mode.c_str()); // methods builtin_member("read", file_read); builtin_member("write", file_write); builtin_member("eof", as_value(file_get_eof, as_value())); // readonly property builtin_member("error", as_value(file_get_error, as_value())); // readonly property }
as_loadvars::as_loadvars(player* player) : as_object(player) { builtin_member( "addRequestHeader" , as_loadvars_addrequestheader ); builtin_member( "decode" , as_loadvars_decode ); builtin_member( "getBytesLoaded" , as_loadvars_getbytesloaded ); builtin_member( "getBytesTotal" , as_loadvars_getbytestotal ); builtin_member( "load" , as_loadvars_load ); builtin_member( "send" , as_loadvars_send ); builtin_member( "sendAndLoad" , as_loadvars_sendandload ); builtin_member( "toString" , as_loadvars_tostring ); // default values m_headers.set("Content-Type", "application/x-www-form-urlencoded"); m_headers.set("Cache-Control", "no-cache"); m_headers.set("User-Agent", "gameswf"); }
mydb::mydb(player* player) : sql_db(player), m_trace(false), m_db(NULL) { // methods builtin_member("connect", mydb_connect); builtin_member("disconnect", mydb_disconnect); builtin_member("open", mydb_open); builtin_member("run", mydb_run); builtin_member("commit", mydb_commit); builtin_member("auto_commit", as_value(as_value(), mydb_autocommit_setter)); builtin_member("trace", as_value(as_value(), mydb_trace_setter)); }
as_3_function::as_3_function ( abc_def *abc, int method, player *player ) : as_function ( player ), m_abc ( abc ), m_return_type ( -1 ), m_name ( -1 ), m_flags ( 0 ), m_method ( method ), m_max_stack ( 0 ), m_local_count ( 0 ), m_init_scope_depth ( 0 ), m_max_scope_depth ( 0 ) { m_this_ptr = this; // any function MUST have prototype builtin_member ( "prototype", new as_object ( player ) ); }
as_sharedobject::as_sharedobject( player * player ) : as_object( player ) { builtin_member( "getLocal", &as_sharedobject_getlocal ); builtin_member( "flush", &as_sharedobject_flush ); }
// Date([yearOrTimevalue:Number], [month:Number], [date:Number], // [hour:Number], [minute:Number], [second:Number], [millisecond:Number]) as_date::as_date(const fn_call& fn) : as_object(fn.get_player()) { // reset if there are args if (fn.nargs > 0) { int arg = fn.arg(0).to_int(); set(FULLYEAR, arg); if (fn.nargs > 1) { arg = fn.arg(1).to_int(); set(MON, arg); if (fn.nargs > 2) { arg = fn.arg(2).to_int(); set(MDAY, arg); if (fn.nargs > 3) { arg = fn.arg(3).to_int(); set(HOUR, arg); if (fn.nargs > 4) { arg = fn.arg(4).to_int(); set(MIN, arg); if (fn.nargs > 5) { arg = fn.arg(5).to_int(); set(SEC, arg); } } } } } } builtin_member("getTime", as_date_gettime); builtin_member("setTime", as_date_settime); builtin_member("getYear", as_date_getyear); builtin_member("setYear", as_date_setyear); builtin_member("getMonth", as_date_getmonth); builtin_member("setMonth", as_date_setmonth); builtin_member("getDate", as_date_getdate); builtin_member("setDate", as_date_setdate); builtin_member("getDay", as_date_getday); builtin_member("setDay", as_date_setday); builtin_member("getFullYear", as_date_getfullyear); builtin_member("setFullYear", as_date_setfullyear); builtin_member("getHours", as_date_gethours); builtin_member("setHours", as_date_sethours); builtin_member("getMilliseconds", as_date_getmilli); builtin_member("setMilliseconds", as_date_setmilli); builtin_member("getMinutes", as_date_getminutes); builtin_member("setMinutes", as_date_setminutes); builtin_member("getSeconds", as_date_getseconds); builtin_member("setSeconds", as_date_setseconds); }
void as_object::set_ctor(const as_value& val) { builtin_member(s_constructor, val); }