|
Gnash
0.8.11dev
|
An abstract property. More...
#include <Property.h>
Public Member Functions | |
| Property (const ObjectURI &uri, const as_value &value, const PropFlags &flags) | |
| Property (const ObjectURI &uri, as_function *getter, as_function *setter, const PropFlags &flags, bool destroy=false) | |
| Property (const ObjectURI &uri, as_c_function_ptr getter, as_c_function_ptr setter, const PropFlags &flags, bool destroy=false) | |
| Property (const Property &p) | |
| Copy constructor. More... | |
| const PropFlags & | getFlags () const |
| accessor to the properties flags More... | |
| void | setFlags (const PropFlags &flags) const |
| Set the flags of the property. More... | |
| DSOTEXPORT as_value | getValue (const as_object &this_ptr) const |
| Get value of this property. More... | |
| as_value | getCache () const |
| Get internal cached value of this property. More... | |
| void | setCache (const as_value &v) |
| Set internal cached value of this property. More... | |
| bool | setValue (as_object &this_ptr, const as_value &value) const |
| Set value of this property. More... | |
| bool | isGetterSetter () const |
| Is this a getter/setter property? More... | |
| void | clearVisible (int swfVersion) |
| Clear visibility flags. More... | |
| const ObjectURI & | uri () const |
| The name-namespace pair (ObjectURI) of this Property. More... | |
| void | setReachable () const |
| Mark this property as being reachable (for the GC) More... | |
An abstract property.
A Property is a holder for a value or a getter-setter. Properties have special const semantics: the value of a Property does not affect its outward state, so the value of a const Property can be changed.
|
inline |
|
inline |
|
inline |
|
inline |
Copy constructor.
|
inline |
Clear visibility flags.
References gnash::PropFlags::clear_visible().
| as_value gnash::Property::getCache | ( | ) | const |
Get internal cached value of this property.
For simple properties, this is the usual value; for user-defined getter-setter this is a cached value to watch for infinitely recurse on calling the getter or setter; Native getter-setter has no cache, undefined will be returned for them.
Referenced by gnash::as_object::add_property(), and gnash::as_object::get_member().
|
inline |
accessor to the properties flags
Referenced by gnash::PropertyList::addDestructiveGetter(), gnash::PropertyList::addGetterSetter(), gnash::IsEnumerable::operator()(), gnash::readOnly(), gnash::PropertyList::setValue(), and gnash::visible().
Get value of this property.
| this_ptr | The as_object used to set the 'this' pointer. for calling getter function (GetterSetterProperty); it will be unused when getting or setting SimpleProperty properties. |
References gnash::key::a, gnash::GetterSetter::get(), and gnash::getVM().
Referenced by gnash::MovieClip::constructAsScriptObject(), gnash::constructInstance(), gnash::abc::Machine::execute(), gnash::as_object::get_member(), gnash::as_object::get_prototype(), gnash::getOwnProperty(), gnash::abc::Machine::pushGet(), and gnash::sendEvent().
|
inline |
Is this a getter/setter property?
Referenced by gnash::abc::Machine::execute(), gnash::as_object::get_member(), gnash::abc::Machine::pushGet(), gnash::abc::Machine::pushSet(), gnash::as_object::set_member(), and gnash::as_object::unwatch().
Set internal cached value of this property.
For simple properties, this is the usual value; for user-defined getter-setter this is a cached value to watch for infinitely recurse on calling the getter or setter; Native getter-setter has no cache, nothing would happen for them.
References gnash::key::_1.
Referenced by gnash::as_object::add_property(), and gnash::PropertyList::addGetterSetter().
Set the flags of the property.
Referenced by gnash::PropertyList::addGetterSetter().
|
inline |
Mark this property as being reachable (for the GC)
Referenced by gnash::PropertyList::setReachable().
Set value of this property.
| this_ptr | The as_object used to set the 'this' pointer for calling getter/setter function It will be unused when getting or setting simple properties. This parameter is non-const as nothing prevents an eventual "Setter" function from actually modifying it, so we can't promise constness. |
| value | The new value for this property. It will be used as first argument of the 'setter' function if this is a Getter/Setter property. |
References gnash::key::a, gnash::getVM(), gnash::readOnly(), gnash::GetterSetter::set(), and gnash::GetterSetter::setCache().
Referenced by gnash::abc::Machine::pushSet(), gnash::setLocal(), and gnash::PropertyList::setValue().
|
inline |
The name-namespace pair (ObjectURI) of this Property.
Referenced by gnash::abc::Machine::execute(), and gnash::PropertyList::KeyExtractor::operator()().
1.8.5