Gnash
0.8.10
|
This is the base class for type-specific object data. More...
#include <Relay.h>
Public Member Functions | |
virtual | ~Relay ()=0 |
virtual void | setReachable () |
A Relay itself is not a GC object, but may point to GC resources. | |
virtual void | clean () |
Handle any cleanup necessary before the Relay is destroyed. |
This is the base class for type-specific object data.
A Relay is a polymorphic object that contains arbitrary native type information. Native functions may access the Relay object, determine its derived type, and change its state. The base class does nothing. It provides a virtual function to mark GC resources if necessary in subclasses. The simplest native types, such as Boolean or String, inherit from this base class directly. They have no GC resources and simply store a C++ type such as a boolean, double, or std::string, which native functions can access and manipulate. More complex types may derive from a subclass of Relay that provides specific functionality such as updates from the VM. An as_object with a non-null _relay member is a native class, as this information cannot be accessed by normal ActionScript functions.
gnash::Relay::~Relay | ( | ) | [inline, pure virtual] |
virtual void gnash::Relay::clean | ( | ) | [inline, virtual] |
Handle any cleanup necessary before the Relay is destroyed.
Only the replacement of one Relay by another should cause this to happen. The cleanup may involve deregistration.
Reimplemented in gnash::ActiveRelay.
virtual void gnash::Relay::setReachable | ( | ) | [inline, virtual] |
A Relay itself is not a GC object, but may point to GC resources.
Reimplemented in gnash::XMLNode_as, gnash::BitmapData_as, and gnash::ActiveRelay.