Gnash  0.8.11dev
Global_as.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 //
19 
20 #ifndef GNASH_GLOBAL_H
21 #define GNASH_GLOBAL_H
22 
23 #include <string>
24 #include <memory>
25 
26 #include "as_object.h"
27 #include "fn_call.h"
28 #include "log.h"
29 #include "ClassHierarchy.h"
30 #include "dsodefs.h" // for DSOTEXPORT
31 
32 // Forward declarations
33 namespace gnash {
34  class as_value;
35  class VM;
36  class Extension;
37 }
38 
39 namespace gnash {
40 
42 //
46 //
49 class Global_as : public as_object
50 {
51 public:
52 
53  typedef as_value(*ASFunction)(const fn_call& fn);
54  typedef void(*Properties)(as_object&);
55 
56  explicit Global_as(VM& vm);
57  virtual ~Global_as();
58 
59  void registerClasses();
60 
62 
63  VM& getVM() const {
64  return vm();
65  }
66 
69 
71  //
75  as_object* prototype);
76 
77  void makeObject(as_object& o) const;
78 
79 protected:
80 
81  virtual void markReachableResources() const;
82 
83 private:
84 
85  void loadExtensions();
86  std::unique_ptr<Extension> _et;
87 
88  ClassHierarchy _classes;
89 
90  as_object* _objectProto;
91 
92 };
93 
94 DSOTEXPORT as_object* createObject(const Global_as& gl);
95 
96 
98 //
100 //
103 //
106 //
113 inline as_object*
115  const ObjectURI& uri)
116 {
117  Global_as& gl = getGlobal(where);
118  as_object* obj = createObject(gl);
119  if (p) p(*obj);
120 
122 
123  return obj;
124 }
125 
127 //
129 //
133 //
143 inline as_object*
146 {
147  Global_as& gl = getGlobal(where);
148  as_object* proto = createObject(gl);
149  as_object* cl = gl.createClass(ctor, proto);
150 
151  // Attach class properties to class
152  if (c) c(*cl);
153 
154  // Attach prototype properties to prototype
155  if (p) p(*proto);
156 
157  // Register class with specified object.
159  return cl;
160 }
161 
163 //
165 inline DSOEXPORT as_value
166 invoke(const as_value& method, const as_environment& env, as_object* this_ptr,
167  fn_call::Args& args, as_object* super = nullptr,
168  const movie_definition* callerDef = nullptr)
169 {
170 
171  as_value val;
172  fn_call call(this_ptr, env, args);
173  call.super = super;
174  call.callerDef = callerDef;
175 
176  try {
177  if (as_object* func = toObject(method, getVM(env))) {
178  // Call function.
179  val = func->call(call);
180  }
181  else {
183  log_aserror("Attempt to call a value which is not "
184  "a function (%s)", method);
185  );
186  return val;
187  }
188  }
189  catch (ActionTypeError& e) {
190  assert(val.is_undefined());
192  log_aserror("%s", e.what());
193  );
194  }
195  return val;
196 }
197 
199 //
202 //
205 //
208 //
217 
218 inline as_value
220 {
221  if (!obj) return as_value();
222  as_value func;
223  if (!obj->get_member(uri, &func)) return as_value();
224 
225  return invoke(func, as_environment(getVM(*obj)), obj, args);
226 }
227 
228 template <typename Param, typename... Params>
229 inline as_value
230 callMethod(fn_call::Args& args, as_object* obj, const ObjectURI& uri, Param param, Params... params)
231 {
232  args += param;
233  return callMethod(args, obj, uri, params...);
234 }
235 
236 
237 template <typename... Params>
238 inline as_value
239 callMethod(as_object* obj, const ObjectURI& uri, Params... params)
240 {
241  fn_call::Args args;
242  return callMethod(args, obj, uri, params...);
243 }
244 
246 //
248 inline as_function*
249 getClassConstructor(const fn_call& fn, const std::string& s)
250 {
251  const as_value ctor(findObject(fn.env(), s));
252  return ctor.to_function();
253 }
254 
255 inline as_value
257 {
258  return as_value();
259 }
260 
261 } // namespace gnash
262 
263 #endif
gnash::Extension
Definition: extension.h:38
TextField_as.h
gnash::stage_class_init
void stage_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Stage class.
Definition: Stage_as.cpp:51
Math_as.h
gnash::NSV::CLASS_MOVIE_CLIP
@ CLASS_MOVIE_CLIP
Definition: namedStrings.h:227
gnash::AsBroadcaster::registerNative
static void registerNative(as_object &global)
Definition: AsBroadcaster.cpp:208
gnash::parseNonDecimalInt
bool parseNonDecimalInt(const std::string &s, double &d, bool whole)
Definition: as_value.cpp:793
gnash::flash_package_init
void flash_package_init(as_object &where, const ObjectURI &uri)
Definition: flash_pkg.cpp:58
SharedObject_as.h
gnash::NSV::CLASS_NET_STREAM
@ CLASS_NET_STREAM
Definition: namedStrings.h:231
Video_as.h
gnash::toNumber
double toNumber(const as_value &v, const VM &vm)
Convert an as_value to a double.
Definition: VM.cpp:451
gnash::fn_call::super
as_object * super
The "super" object in this function call context.
Definition: fn_call.h:175
movie_root.h
gnash::ClassHierarchy::markReachableResources
void markReachableResources() const
Mark objects for garbage collector.
Definition: ClassHierarchy.h:115
gnash::mouse_class_init
void mouse_class_init(as_object &where, const ObjectURI &uri)
Definition: Mouse_as.cpp:57
gnash::moviecliploader_class_init
void moviecliploader_class_init(as_object &where, const ObjectURI &uri)
Extern.
Definition: MovieClipLoader.cpp:64
gnash::isNaN
bool isNaN(const T &num)
Definition: GnashNumeric.h:62
BitmapFilter_as.h
Camera_as.h
gnash::toInt
std::int32_t toInt(const as_value &v, const VM &vm)
AS2-compatible conversion to 32bit integer.
Definition: VM.cpp:463
Selection_as.h
gnash::key::d
@ d
Definition: GnashKey.h:150
gnash::as_object
The base class for all ActionScript objects.
Definition: as_object.h:162
builtin_function.h
gnash::selection_class_init
void selection_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Selection class.
Definition: Selection_as.cpp:51
gnash::NSV::CLASS_TEXT_FORMAT
@ CLASS_TEXT_FORMAT
Definition: namedStrings.h:250
as_object.h
gnash::registerSelectionNative
void registerSelectionNative(as_object &global)
Register native selection methods.
Definition: Selection_as.cpp:67
gnash::registerBitmapDataNative
void registerBitmapDataNative(as_object &global)
Definition: BitmapData_as.cpp:673
Stage_as.h
gnash::as_object::as_object
DSOTEXPORT as_object(const Global_as &global)
Construct an ActionScript object with no prototype associated.
Definition: as_object.cpp:280
gnash::key_class_init
void key_class_init(as_object &where, const ObjectURI &uri)
Definition: Key_as.cpp:156
gnash::getOwnProperty
as_value getOwnProperty(as_object &o, const ObjectURI &uri)
Get an own member of an object.
Definition: as_object.h:777
gnash::toObject
as_object * toObject(const as_value &v, VM &vm)
Convert an as_value to an object.
Definition: VM.cpp:457
ContextMenu_as.h
dsodefs.h
Button.h
gnash::NSV::CLASS_OBJECT
@ CLASS_OBJECT
Definition: namedStrings.h:233
gnash::registerExternalInterfaceNative
void registerExternalInterfaceNative(as_object &global)
Definition: ExternalInterface_as.cpp:150
gnash::registerXMLNodeNative
void registerXMLNodeNative(as_object &where)
Register ASnative methods.
Definition: XMLNode_as.cpp:508
gnash::log_debug
void log_debug(StringType msg, Args... args)
Definition: log.h:301
y
std::int32_t y
Definition: BitmapData_as.cpp:435
gnash::key::i
@ i
Definition: GnashKey.h:155
gnash::netconnection_class_init
void netconnection_class_init(as_object &where, const ObjectURI &uri)
Definition: NetConnection_as.cpp:424
LOG_ONCE
#define LOG_ONCE(x)
Definition: log.h:49
gnash::registerStringNative
void registerStringNative(as_object &global)
Definition: String_as.cpp:83
Boolean_as.h
gnash::PropFlags::onlySWF9Up
@ onlySWF9Up
Only visible by VM initialized for version 9 or higher.
Definition: PropFlags.h:57
rc.h
gnash::NSV::CLASS_ACCESSIBILITY
@ CLASS_ACCESSIBILITY
Definition: namedStrings.h:196
gnash::NSV::PROP_LENGTH
@ PROP_LENGTH
Definition: namedStrings.h:83
gnash::NSV::CLASS_FUNCTION
@ CLASS_FUNCTION
Definition: namedStrings.h:216
_
#define _(String)
Definition: log.h:44
USE_EXTENSIONS
#define USE_EXTENSIONS
Definition: gnashconfig.h:653
gnash::NSV::CLASS_SHARED_OBJECT
@ CLASS_SHARED_OBJECT
Definition: namedStrings.h:237
gnash::as_environment
Provides information about timeline context.
Definition: as_environment.h:51
gnash::registerNumberNative
void registerNumberNative(as_object &global)
Definition: Number_as.cpp:168
gnash::as_object::init_member
void init_member(const std::string &name, const as_value &val, int flags=DefaultFlags)
Initialize a member value by string.
Definition: as_object.cpp:669
gnash::textformat_class_init
void textformat_class_init(as_object &global, const ObjectURI &uri)
Definition: TextFormat_as.cpp:374
gnash::VM
The AVM1 virtual machine.
Definition: VM.h:72
gnash::registerXMLSocketNative
void registerXMLSocketNative(as_object &global)
Definition: XMLSocket_as.cpp:285
Color_as.h
gnash::number_class_init
void number_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Number class.
Definition: Number_as.cpp:149
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::accessibility_class_init
void accessibility_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Accessibility class.
Definition: Accessibility_as.cpp:41
MovieClipLoader.h
ColorTransform_as.h
gnash::registerBuiltinObject
as_object * registerBuiltinObject(as_object &where, Global_as::Properties p, const ObjectURI &uri)
Register a built-in object.
Definition: Global_as.h:114
ASSERT_FN_ARGS_IS_1
#define ASSERT_FN_ARGS_IS_1
Definition: Global_as.cpp:96
gnash::initObjectClass
void initObjectClass(as_object *proto, as_object &where, const ObjectURI &uri)
Initialize the global Object class.
Definition: Object.cpp:80
gnash::Global_as::markReachableResources
virtual void markReachableResources() const
Mark all reachable resources, override from GcResource.
Definition: Global_as.cpp:227
gnash::RcInitFile::enableExtensions
bool enableExtensions() const
Definition: rc.h:98
gnash::Global_as::~Global_as
virtual ~Global_as()
Definition: Global_as.cpp:154
gnash::PropFlags::dontEnum
@ dontEnum
Protect from enumeration.
Definition: PropFlags.h:36
Function_as.h
gnash::PropFlags::dontDelete
@ dontDelete
Protect from deletion.
Definition: PropFlags.h:39
gnash::NSV::CLASS_CONTEXTMENUITEM
@ CLASS_CONTEXTMENUITEM
Definition: namedStrings.h:206
gnash::registerSoundNative
void registerSoundNative(as_object &global)
Definition: Sound_as.cpp:300
gnash::NSV::CLASS_VIDEO
@ CLASS_VIDEO
Definition: namedStrings.h:256
gnash::key::s
@ s
Definition: GnashKey.h:165
gnash::as_object::clearProperties
void clearProperties()
Drop all properties from this object.
Definition: as_object.h:533
as_value.h
NativeFunction.h
gnash::registerKeyNative
void registerKeyNative(as_object &global)
Definition: Key_as.cpp:103
gnash::builtin_function
This is a special type of function implementing AS-code in C++.
Definition: builtin_function.h:42
Global_as.h
gnash::NSV::CLASS_LOCALCONNECTION
@ CLASS_LOCALCONNECTION
Definition: namedStrings.h:223
gnash::NSV::CLASS_MOVIE_CLIP_LOADER
@ CLASS_MOVIE_CLIP_LOADER
Definition: namedStrings.h:228
gnash::registerFunctionNative
void registerFunctionNative(as_object &global)
Register Function native functions.
Definition: Function_as.cpp:58
TextSnapshot_as.h
__FUNCTION__
#define __FUNCTION__
Definition: log.h:437
gnash::getGlobal
Global_as & getGlobal(const as_environment &env)
Definition: as_environment.cpp:651
gnash::NSV::PROP_CONSTRUCTOR
@ PROP_CONSTRUCTOR
Definition: namedStrings.h:68
gnash::registerButtonNative
void registerButtonNative(as_object &global)
Definition: Button.cpp:923
gnash::getVM
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
gnash::NSV::CLASS_TEXT_FIELD
@ CLASS_TEXT_FIELD
Definition: namedStrings.h:248
gnash::ClassHierarchy::declareAll
void declareAll(const NativeClasses &classes)
Declare a list of native classes.
Definition: ClassHierarchy.cpp:123
gnash::color_class_init
void color_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Color class.
Definition: Color_as.cpp:64
gnash::sound_class_init
void sound_class_init(as_object &where, const ObjectURI &uri)
Definition: Sound_as.cpp:286
as_function.h
AsBroadcaster.h
ContextMenuItem_as.h
gnash::movie_definition
Client program's interface to the definition of a movie or sprite.
Definition: movie_definition.h:96
gnash::NSV::CLASS_STAGE
@ CLASS_STAGE
Definition: namedStrings.h:241
gnash::textfield_class_init
void textfield_class_init(as_object &where, const ObjectURI &uri)
This provides the prototype and static methods for TextField.
Definition: TextField_as.cpp:105
gnash::getMember
as_value getMember(as_object &o, const ObjectURI &uri)
Get a member of an object using AS lookup rules.
Definition: as_object.h:756
gnash::as_object::array
bool array() const
Return true if this object should be treated as an array.
Definition: as_object.h:625
gnash::log_trace
void log_trace(StringType msg, Args... args)
Definition: log.h:295
Key_as.h
gnash::createObject
as_object * createObject(const Global_as &gl)
Definition: Global_as.cpp:303
BitmapData_as.h
NetStream_as.h
gnash::registerStageNative
void registerStageNative(as_object &o)
This is the Stage ActionScript object.
Definition: Stage_as.cpp:58
gnash::camera_class_init
void camera_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Camera class.
Definition: Camera_as.cpp:68
gnash::NSV::CLASS_CAMERA
@ CLASS_CAMERA
Definition: namedStrings.h:203
gnash::registerSharedObjectNative
void registerSharedObjectNative(as_object &o)
Definition: SharedObject_as.cpp:604
gnash::isFinite
bool isFinite(double d)
Definition: GnashNumeric.h:47
gnash::fn_call
Parameters/environment for builtin or user-defined functions callable from ActionScript.
Definition: fn_call.h:118
gnash::as_object::DefaultFlags
static const int DefaultFlags
The most common flags for built-in properties.
Definition: as_object.h:192
gnash::boolean_class_init
void boolean_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Boolean class.
Definition: Boolean_as.cpp:60
gnash::xmlnode_class_init
void xmlnode_class_init(as_object &where, const ObjectURI &uri)
Definition: XMLNode_as.cpp:522
gnash::registerColorNative
void registerColorNative(as_object &o)
Definition: Color_as.cpp:52
gnash::registerMathNative
void registerMathNative(as_object &proto)
Definition: Math_as.cpp:61
gnash::callMethod
as_value callMethod(fn_call::Args &args, as_object *obj, const ObjectURI &uri)
Call a member function of this object in an AS-compatible way.
Definition: Global_as.h:219
gnash::registerXMLNative
void registerXMLNative(as_object &where)
Register XML native functions.
Definition: XML_as.cpp:540
gnash::registerColorTransformNative
void registerColorTransformNative(as_object &global)
Definition: ColorTransform_as.cpp:96
gnash::netstream_class_init
void netstream_class_init(as_object &where, const ObjectURI &uri)
Definition: NetStream_as.cpp:130
gnash::microphone_class_init
void microphone_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Microphone class.
Definition: Microphone_as.cpp:65
gnash::function_class_init
void function_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Function constructor.
Definition: Function_as.cpp:66
gnash::PropFlags::ignoreSWF6
@ ignoreSWF6
Ignore in SWF6-initialized VM.
Definition: PropFlags.h:48
gnash::fn_call::Args
FunctionArgs< as_value > Args
Definition: fn_call.h:121
Mouse_as.h
gnash::URL::encode
static void encode(std::string &str)
Encode a string to URL-encoded format converting all dodgy characters to AB hex sequences.
Definition: URL.cpp:391
gnash::system_class_init
void system_class_init(as_object &where, const ObjectURI &uri)
Initialize the global System class.
Definition: System_as.cpp:61
gnash::Global_as::createClass
as_object * createClass(Global_as::ASFunction ctor, as_object *prototype)
Create an ActionScript class.
Definition: Global_as.cpp:180
gnash::registerLoadableNative
void registerLoadableNative(as_object &o)
Register methods as native for use by XML_as and LoadVars_as.
Definition: LoadableObject.cpp:68
gnash::URL::decode
static void decode(std::string &str)
Decode a string from URL-encoded format converting all hexadecimal sequences to ASCII characters.
Definition: URL.cpp:418
gnash::Global_as::createFunction
as_function * createFunction(Global_as::ASFunction function)
Create an ActionScript function.
Definition: Global_as.cpp:159
gnash::invoke
DSOEXPORT as_value invoke(const as_value &method, const as_environment &env, as_object *this_ptr, fn_call::Args &args, as_object *super=nullptr, const movie_definition *callerDef=nullptr)
Call an as_value on an as_object.
Definition: Global_as.h:166
gnash::ActionTypeError
An ActionScript type error.
Definition: GnashException.h:161
gnash::as_value::to_function
as_function * to_function() const
Return the value as a function only if it is a function.
Definition: as_value.cpp:499
gnash::FunctionArgs
A class to contain transferable arguments for a fn_call.
Definition: fn_call.h:57
LoadVars_as.h
gnash::Mouse_as::registerNative
static void registerNative(as_object &where)
Register native functions with the VM.
Definition: Mouse_as.cpp:46
XMLNode_as.h
gnash::NSV::CLASS_DATE
@ CLASS_DATE
Definition: namedStrings.h:208
IF_VERBOSE_ASCODING_ERRORS
#define IF_VERBOSE_ASCODING_ERRORS(x)
Definition: log.h:397
gnash::Global_as::makeObject
void makeObject(as_object &o) const
Definition: Global_as.cpp:331
extension.h
gnash::registerTextFieldNative
void registerTextFieldNative(as_object &global)
Definition: TextField_as.cpp:123
gnash::emptyFunction
as_value emptyFunction(const fn_call &)
Definition: Global_as.h:256
gnash::Global_as::Global_as
Global_as(VM &vm)
Definition: Global_as.cpp:143
gnash::constructInstance
as_object * constructInstance(as_function &ctor, const as_environment &env, fn_call::Args &args)
Definition: as_function.cpp:47
gnash::array_class_init
void array_class_init(as_object &where, const ObjectURI &uri)
Initialize the global.Array object.
Definition: Array_as.cpp:973
gnash::as_object::get_member
virtual bool get_member(const ObjectURI &uri, as_value *val)
Get a property by name if it exists.
Definition: as_object.cpp:378
URL.h
gnash::key::p
@ p
Definition: GnashKey.h:162
gnash::registerAccessibilityNative
void registerAccessibilityNative(as_object &global)
Definition: Accessibility_as.cpp:61
gnash::registerObjectNative
void registerObjectNative(as_object &global)
Definition: Object.cpp:62
Timers.h
gnash::Global_as::getVM
VM & getVM() const
Definition: Global_as.h:63
gnash::NSV::CLASS_STRING
@ CLASS_STRING
Definition: namedStrings.h:243
gnash::VM::getNative
NativeFunction * getNative(unsigned int x, unsigned int y) const
Return a native function or null.
Definition: VM.cpp:276
gnash::NSV::CLASS_MATH
@ CLASS_MATH
Definition: namedStrings.h:224
gnash::NSV::CLASS_BOOLEAN
@ CLASS_BOOLEAN
Definition: namedStrings.h:201
gnash::xmlsocket_class_init
void xmlsocket_class_init(as_object &where, const ObjectURI &uri)
Initialize the global XMLSocket class.
Definition: XMLSocket_as.cpp:278
gnash::getClassConstructor
as_function * getClassConstructor(const fn_call &fn, const std::string &s)
Convenience function for finding a class constructor.
Definition: Global_as.h:249
gnash::registerMicrophoneNative
void registerMicrophoneNative(as_object &global)
Definition: Microphone_as.cpp:72
GnashNumeric.h
gnash::NSV::CLASS_XML
@ CLASS_XML
Definition: namedStrings.h:257
gnash::NSV::CLASS_TEXT_SNAPSHOT
@ CLASS_TEXT_SNAPSHOT
Definition: namedStrings.h:252
gnash::PropFlags::onlySWF8Up
@ onlySWF8Up
Only visible by VM initialized for version 8 or higher.
Definition: PropFlags.h:54
gnash::as_value
ActionScript value type.
Definition: as_value.h:95
Object.h
gnash::Global_as::createArray
as_object * createArray()
Construct an Array.
Definition: Global_as.cpp:207
gnash::registerArrayNative
void registerArrayNative(as_object &global)
Definition: Array_as.cpp:954
VM.h
gnash::NSV::CLASS_MICROPHONE
@ CLASS_MICROPHONE
Definition: namedStrings.h:225
Microphone_as.h
gnash::sharedobject_class_init
void sharedobject_class_init(as_object &where, const ObjectURI &uri)
Initialize the global SharedObject class.
Definition: SharedObject_as.cpp:591
MovieClip_as.h
TextRenderer_as.h
gnash::PropFlags::onlySWF7Up
@ onlySWF7Up
Only visible by VM initialized for version 7 or higher.
Definition: PropFlags.h:51
gnash::as_value::is_undefined
bool is_undefined() const
Definition: as_value.h:336
gnash::as_object::vm
VM & vm() const
Return a reference to this as_object's global object.
Definition: as_object.h:205
Number_as.h
gnash::log_aserror
void log_aserror(StringType msg, Args... args)
Definition: log.h:331
gnash::ClassHierarchy::NativeClass
Definition: ClassHierarchy.h:65
XML_as.h
log.h
XMLSocket_as.h
Error_as.h
gnash::getRoot
movie_root & getRoot(const as_environment &env)
Definition: as_environment.cpp:645
ClassHierarchy.h
gnash::NSV::CLASS_NET_CONNECTION
@ CLASS_NET_CONNECTION
Definition: namedStrings.h:230
gnash::NSV::CLASS_SELECTION
@ CLASS_SELECTION
Definition: namedStrings.h:235
fn_call.h
gnash::PropFlags::onlySWF6Up
@ onlySWF6Up
Only visible by VM initialized for version 6 or higher.
Definition: PropFlags.h:45
NetConnection_as.h
gnash::math_class_init
void math_class_init(as_object &where, const ObjectURI &uri)
Definition: Math_as.cpp:87
gnash::registerMovieClipLoaderNative
void registerMovieClipLoaderNative(as_object &global)
Definition: MovieClipLoader.cpp:54
gnash::NSV::CLASS_LOAD_VARS
@ CLASS_LOAD_VARS
Definition: namedStrings.h:222
gnash::registerMovieClipNative
void registerMovieClipNative(as_object &where)
Register ASNative MovieClip methods (AS2 only).
Definition: MovieClip_as.cpp:128
gnash::registerTextSnapshotNative
void registerTextSnapshotNative(as_object &global)
Definition: TextSnapshot_as.cpp:406
gnash::Global_as::ASFunction
as_value(* ASFunction)(const fn_call &fn)
Definition: Global_as.h:53
gnash::button_class_init
void button_class_init(as_object &global, const ObjectURI &uri)
Initialize the global Button class.
Definition: Button.cpp:910
gnash::registerBitmapFilterNative
void registerBitmapFilterNative(as_object &global)
Definition: BitmapFilter_as.cpp:64
gnash::key::f
@ f
Definition: GnashKey.h:152
gnashconfig.h
gnash::movieclip_class_init
void movieclip_class_init(as_object &where, const ObjectURI &uri)
Initialize the global MovieClip class.
Definition: MovieClip_as.cpp:116
gnash::contextmenu_class_init
void contextmenu_class_init(as_object &where, const ObjectURI &uri)
Initialize the global ContextMenu class.
Definition: ContextMenu_as.cpp:45
gnash::RcInitFile::getDefaultInstance
static RcInitFile & getDefaultInstance()
Return the default instance of RC file.
Definition: rc.cpp:61
gnash::Global_as::registerClasses
void registerClasses()
Definition: Global_as.cpp:235
DSOTEXPORT
#define DSOTEXPORT
Definition: dsodefs.h:63
namedStrings.h
Sound_as.h
gnash::Global_as
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:50
gnash::registerTextFormatNative
void registerTextFormatNative(as_object &o)
Definition: TextFormat_as.cpp:241
gnash::registerBuiltinClass
as_object * registerBuiltinClass(as_object &where, Global_as::ASFunction ctor, Global_as::Properties p, Global_as::Properties c, const ObjectURI &uri)
Register a built-in class.
Definition: Global_as.h:144
test.uri
uri
Definition: test.py:12
gnash::fn_call::callerDef
const movie_definition * callerDef
Definition containing caller code. 0 if spontaneous (system event).
Definition: fn_call.h:181
PropFlags.h
gnash::key::c
@ c
Definition: GnashKey.h:149
gnash::registerBooleanNative
void registerBooleanNative(as_object &global)
Definition: Boolean_as.cpp:78
gnash::as_object::markReachableResources
virtual void markReachableResources() const
Mark all reachable resources, override from GcResource.
Definition: as_object.cpp:1011
gnash::NSV::CLASS_NUMBER
@ CLASS_NUMBER
Definition: namedStrings.h:232
flash_pkg.h
gnash::AsBroadcaster::init
static void init(as_object &global, const ObjectURI &uri)
Definition: AsBroadcaster.cpp:216
gnash::log_security
void log_security(StringType msg, Args... args)
Definition: log.h:319
DSOEXPORT
#define DSOEXPORT
Definition: dsodefs.h:55
gnash::registerNetStreamNative
void registerNetStreamNative(as_object &global)
Definition: NetStream_as.cpp:139
ExternalInterface_as.h
gnash::NSV::CLASS_SOUND
@ CLASS_SOUND
Definition: namedStrings.h:239
gnash::NSV::PROP_uuPROTOuu
@ PROP_uuPROTOuu
Definition: namedStrings.h:118
gnash::getURI
ObjectURI getURI(const VM &vm, const std::string &str, bool lowerCaseHint=false)
Definition: VM.h:290
gnash::NSV::CLASS_MOUSE
@ CLASS_MOUSE
Definition: namedStrings.h:226
gnash::registerVideoNative
void registerVideoNative(as_object &global)
Definition: Video_as.cpp:70
movie_definition.h
TextFormat_as.h
Array_as.h
gnash::NSV::CLASS_XMLNODE
@ CLASS_XMLNODE
Definition: namedStrings.h:259
gnash::NSV::CLASS_BUTTON
@ CLASS_BUTTON
Definition: namedStrings.h:202
gnash::NSV::CLASS_COLOR
@ CLASS_COLOR
Definition: namedStrings.h:204
gnash::NSV::CLASS_ARRAY
@ CLASS_ARRAY
Definition: namedStrings.h:198
gnash::NSV::CLASS_AS_BROADCASTER
@ CLASS_AS_BROADCASTER
Definition: namedStrings.h:199
Accessibility_as.h
gnash::registerSystemNative
void registerSystemNative(as_object &where)
Definition: System_as.cpp:68
gnash::ClassHierarchy
Register all of the ActionScript classes, with their dependencies.
Definition: ClassHierarchy.h:41
gnash::as_value::set_null
void set_null()
Set this value to the NULL value.
Definition: as_value.cpp:526
gnash::registerLocalConnectionNative
void registerLocalConnectionNative(as_object &global)
Definition: LocalConnection_as.cpp:489
gnash::date_class_init
void date_class_init(as_object &global, const ObjectURI &uri)
Definition: Date_as.cpp:205
gnash::key::o
@ o
Definition: GnashKey.h:161
Date_as.h
gnash::ClassHierarchy::NativeClasses
std::vector< NativeClass > NativeClasses
Definition: ClassHierarchy.h:101
gnash::PropFlags::readOnly
@ readOnly
Protect from assigning a value.
Definition: PropFlags.h:42
gnash::log_unimpl
void log_unimpl(StringType msg, Args... args)
Definition: log.h:289
gnash::key::N
@ N
Definition: GnashKey.h:126
gnash::video_class_init
void video_class_init(as_object &global, const ObjectURI &uri)
Definition: Video_as.cpp:58
gnash::NSV::PROP_PROTOTYPE
@ PROP_PROTOTYPE
Definition: namedStrings.h:87
gnash::ObjectURI
A URI for describing as_objects.
Definition: ObjectURI.h:45
gnash::NSV::CLASS_XMLSOCKET
@ CLASS_XMLSOCKET
Definition: namedStrings.h:260
LoadableObject.h
x
std::int32_t x
Definition: BitmapData_as.cpp:434
gnash::NSV::CLASS_SYSTEM
@ CLASS_SYSTEM
Definition: namedStrings.h:245
gnash::xml_class_init
void xml_class_init(as_object &where, const ObjectURI &uri)
Register the XML class.
Definition: XML_as.cpp:519
gnash::contextmenuitem_class_init
void contextmenuitem_class_init(as_object &where, const ObjectURI &uri)
Initialize the global ContextMenuItem class.
Definition: ContextMenuItem_as.cpp:40
gnash::Error_class_init
void Error_class_init(as_object &where, const ObjectURI &uri)
Initialize the global Error class.
Definition: Error_as.cpp:46
gnash::findObject
as_object * findObject(const as_environment &ctx, const std::string &path, const as_environment::ScopeStack *scope)
Find the object referenced by the given path.
Definition: as_environment.cpp:116
gnash::NSV::CLASS_KEY
@ CLASS_KEY
Definition: namedStrings.h:220
gnash::NSV::CLASS_CONTEXTMENU
@ CLASS_CONTEXTMENU
Definition: namedStrings.h:205
gnash::registerCameraNative
void registerCameraNative(as_object &global)
Definition: Camera_as.cpp:75
gnash::NSV::CLASS_ERROR
@ CLASS_ERROR
Definition: namedStrings.h:211
gnash::loadvars_class_init
void loadvars_class_init(as_object &where, const ObjectURI &uri)
Initialize the global LoadVars class.
Definition: LoadVars_as.cpp:53
gnash::key::e
@ e
Definition: GnashKey.h:151
LocalConnection_as.h
gnash::string_class_init
void string_class_init(as_object &where, const ObjectURI &uri)
Initialize the global String class.
Definition: String_as.cpp:107
System_as.h
String_as.h
gnash::fn_call::env
const as_environment & env() const
Definition: fn_call.h:209
gnash::textsnapshot_class_init
void textsnapshot_class_init(as_object &where, const ObjectURI &uri)
Definition: TextSnapshot_as.cpp:143
gnash::as_function
ActionScript Function, either builtin or SWF-defined.
Definition: as_function.h:63
gnash::registerDateNative
void registerDateNative(as_object &global)
Definition: Date_as.cpp:227
gnash::GcResource::setReachable
void setReachable() const
Mark this resource as being reachable.
Definition: GC.h:92
gnash::Global_as::Properties
void(* Properties)(as_object &)
Definition: Global_as.h:54
gnash::localconnection_class_init
void localconnection_class_init(as_object &where, const ObjectURI &uri)
Definition: LocalConnection_as.cpp:482