=== modified file 'libcore/asobj/ClassHierarchy.cpp' --- libcore/asobj/ClassHierarchy.cpp 2008-08-22 15:42:16 +0000 +++ libcore/asobj/ClassHierarchy.cpp 2008-08-25 13:26:40 +0000 @@ -60,6 +60,7 @@ #include "TextSnapshot.h" #include "TextFormat.h" #include "video_stream_instance.h" +#include "flash/utils_pkg.h" #include "extension.h" #include "VM.h" #include "timers.h" @@ -302,7 +303,8 @@ { display_object_container_class_init, NSV::CLASS_DISPLAYOBJECTCONTAINER, NSV::CLASS_INTERACTIVEOBJECT, 9 }, { sprite_as_class_init, NSV::CLASS_SPRITE, NSV::CLASS_DISPLAYOBJECTCONTAINER, 9 }, { int_class_init, NSV::CLASS_INT, NSV::CLASS_OBJECT, 9 }, - { text_field_auto_size_class_init, NSV::CLASS_TEXTFIELDAUTOSIZE, NSV::CLASS_OBJECT, 9 } + { text_field_auto_size_class_init, NSV::CLASS_TEXTFIELDAUTOSIZE, NSV::CLASS_OBJECT, 9 }, + { flash_utils_package_init, NSV::NS_FLASH_UTILS, NSV::CLASS_OBJECT, NSV::NS_FLASH_UTILS, 9} // These classes are all implicitly constructed; that is, it is not necessary for // the class name to be used to construct the class, so they must always be available. === added file 'libcore/asobj/flash/utils_pkg.cpp' --- libcore/asobj/flash/utils_pkg.cpp 1970-01-01 00:00:00 +0000 +++ libcore/asobj/flash/utils_pkg.cpp 2008-08-25 13:44:38 +0000 @@ -0,0 +1,54 @@ +// utils_pkg.cpp: ActionScript "flash.utils" package, for Gnash. +// +// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// + +#include "Object.h" // for getObjectInterface +#include "as_object.h" +#include "builtin_function.h" +#include "utils_pkg.h" +#include "string_table.h" +#include "VM.h" + +namespace gnash { + +static as_value getQualifiedClassName(const fn_call&); + +as_value +get_flash_utils_package(const fn_call& /*fn*/) +{ + log_debug("Loading flash.utils package"); + + as_object* pkg = new as_object(getObjectInterface()); + + pkg->init_member("getQualifiedClassName", new builtin_function(getQualifiedClassName)); + return pkg; +} + +void +flash_utils_package_init(as_object& where) +{ + string_table& st = where.getVM().getStringTable(); + where.init_destructive_property(st.find("utils"), get_flash_utils_package); +} + +static as_value +getQualifiedClassName(const fn_call& fn){ + return as_value(fn.arg(0).typeOf()); +} + +} // end of gnash namespace === added file 'libcore/asobj/flash/utils_pkg.h' --- libcore/asobj/flash/utils_pkg.h 1970-01-01 00:00:00 +0000 +++ libcore/asobj/flash/utils_pkg.h 2008-08-23 08:53:19 +0000 @@ -0,0 +1,31 @@ +// +// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#ifndef __FLASH_UTILS_PACKAGE_H__ +#define __FLASH_UTILS_PACKAGE_H__ + +namespace gnash { + +class as_object; + +void flash_utils_package_init(as_object& pkg); + +} // end of gnash namespace + +// __FLASH_UTILS_PACKAGE_H__ +#endif + === modified file 'libcore/asobj/flash_pkg.cpp' --- libcore/asobj/flash_pkg.cpp 2008-05-19 15:49:57 +0000 +++ libcore/asobj/flash_pkg.cpp 2008-08-24 16:02:31 +0000 @@ -28,6 +28,7 @@ #include "flash/geom_pkg.h" #include "flash/net_pkg.h" #include "flash/text_pkg.h" +#include "flash/utils_pkg.h" namespace gnash { @@ -46,7 +47,7 @@ flash_geom_package_init(*pkg); flash_net_package_init(*pkg); flash_text_package_init(*pkg); - + flash_utils_package_init(*pkg); return pkg; }