Public Types | Public Member Functions

gnash::abc::MultiName Class Reference

An MultiName represents a single ABC multiname. More...

#include <MultiName.h>

Collaboration diagram for gnash::abc::MultiName:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Kind {
  KIND_Qname = 0x07, KIND_QnameA = 0x0D, KIND_RTQname = 0x0F, KIND_RTQnameA = 0x10,
  KIND_RTQnameL = 0x11, KIND_RTQnameLA = 0x12, KIND_Multiname = 0x09, KIND_MultinameA = 0x0E,
  KIND_MultinameL = 0x1B, KIND_MultinameLA = 0x1C
}

Public Member Functions

 MultiName ()
void setFlags (Kind kind)
boost::uint8_t flags () const
bool isRuntime ()
 If true, the name needs a run-time string value to complete it.
bool isRtns ()
 If true, the name needs a run-time namespace to complete it.
bool isQName ()
void setQName ()
void setNamespace (Namespace *ns)
NamespacegetNamespace () const
abc::URI getABCName () const
void setABCName (abc::URI n)
string_table::key getGlobalName () const
void setGlobalName (string_table::key n)
void setAttr ()
void fill (as_object *)
PropertyfindProperty ()
void namespaceSet (std::vector< Namespace * > *v)
const std::vector< Namespace * > * namespaceSet () const

Detailed Description

An MultiName represents a single ABC multiname.

All MultiNames are internal to a single AbcBlock. Most are created during parsing, though the Machine can also create them for the lifetime of a single script run (which corresponds to an AbcBlock). This means it is possible to store internal ABC URI of multiname here.


Member Enumeration Documentation

Enumerator:
KIND_Qname 
KIND_QnameA 
KIND_RTQname 
KIND_RTQnameA 
KIND_RTQnameL 
KIND_RTQnameLA 
KIND_Multiname 
KIND_MultinameA 
KIND_MultinameL 
KIND_MultinameLA 

Constructor & Destructor Documentation

gnash::abc::MultiName::MultiName (  )  [inline]

Member Function Documentation

void gnash::abc::MultiName::fill ( as_object  )  [inline]
Property* gnash::abc::MultiName::findProperty (  ) 
boost::uint8_t gnash::abc::MultiName::flags (  )  const [inline]
abc::URI gnash::abc::MultiName::getABCName (  )  const [inline]
string_table::key gnash::abc::MultiName::getGlobalName (  )  const [inline]
Namespace* gnash::abc::MultiName::getNamespace (  )  const [inline]
bool gnash::abc::MultiName::isQName (  )  [inline]
bool gnash::abc::MultiName::isRtns (  )  [inline]

If true, the name needs a run-time namespace to complete it.

bool gnash::abc::MultiName::isRuntime (  )  [inline]

If true, the name needs a run-time string value to complete it.

void gnash::abc::MultiName::namespaceSet ( std::vector< Namespace * > *  v  )  [inline]
const std::vector<Namespace*>* gnash::abc::MultiName::namespaceSet (  )  const [inline]
void gnash::abc::MultiName::setABCName ( abc::URI  n  )  [inline]
void gnash::abc::MultiName::setAttr (  )  [inline]
void gnash::abc::MultiName::setFlags ( Kind  kind  )  [inline]
void gnash::abc::MultiName::setGlobalName ( string_table::key  n  )  [inline]
void gnash::abc::MultiName::setNamespace ( Namespace ns  )  [inline]
void gnash::abc::MultiName::setQName (  )  [inline]

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