Gnash  0.8.10
Public Member Functions
gnash::Relay Class Reference

This is the base class for type-specific object data. More...

#include <Relay.h>

Inheritance diagram for gnash::Relay:
gnash::ActiveRelay gnash::BitmapData_as gnash::ColorTransform_as gnash::Date_as gnash::String_as gnash::TextFormat_as gnash::XMLNode_as gnash::NetConnection_as gnash::NetStream_as gnash::XML_as

List of all members.

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.

Detailed Description

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.


Constructor & Destructor Documentation

gnash::Relay::~Relay ( ) [inline, pure virtual]

Member Function Documentation

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.


The documentation for this class was generated from the following file: