Go to the documentation of this file.
20 #ifndef GNASH_ASOBJ3_XMLNODE_H
21 #define GNASH_ASOBJ3_XMLNODE_H
76 size_t length()
const {
return _children.size(); }
78 const std::string&
nodeName()
const {
return _name; }
80 const std::string&
nodeValue()
const {
return _value; }
109 _namespaceURI = value;
113 return _namespaceURI;
190 virtual void toString(std::ostream& str,
bool encode =
false)
const;
239 void setParent(
XMLNode_as* node) { _parent = node; }
246 void updateChildNodes();
267 std::string _namespaceURI;
269 static void stringify(
const XMLNode_as& xml, std::ostream& xmlout,
XMLNode_as * previousSibling() const
Definition: XMLNode_as.cpp:271
bool isNativeType(const as_object *obj, T *&relay)
Check whether the object is an instance of a known type.
Definition: as_object.h:875
void insertBefore(XMLNode_as *newnode, XMLNode_as *pos)
Insert a node before a node.
Definition: XMLNode_as.cpp:245
XMLNode_as * nextSibling() const
Definition: XMLNode_as.cpp:288
ObjectURI arrayKey(VM &vm, size_t i)
Convert an integral value into an ObjectURI.
Definition: Array_as.cpp:995
void set_member_flags(const ObjectURI &uri, int setTrue, int setFalse=0)
Set member flags (probably used by ASSetPropFlags)
Definition: as_object.cpp:753
virtual ~XMLNode_as()
Definition: XMLNode_as.cpp:112
std::string name
Definition: LocalConnection_as.cpp:149
NodeType
Definition: XMLNode_as.h:57
bool toBool(const as_value &v, const VM &vm)
Convert an as_value to boolean type.
Definition: VM.cpp:445
std::int32_t toInt(const as_value &v, const VM &vm)
AS2-compatible conversion to 32bit integer.
Definition: VM.cpp:463
as_object * _object
Definition: Array_as.cpp:680
The base class for all ActionScript objects.
Definition: as_object.h:162
as_object * getAttributes() const
Return the attributes object associated with this node.
Definition: XMLNode_as.h:193
A node in an XML tree.
Definition: XMLNode_as.h:54
as_object * toObject(const as_value &v, VM &vm)
Convert an as_value to an object.
Definition: VM.cpp:457
XMLNode_as(Global_as &gl)
Definition: XMLNode_as.cpp:79
const std::string & getNamespaceURI() const
Definition: XMLNode_as.h:112
void registerXMLNodeNative(as_object &where)
Register ASnative methods.
Definition: XMLNode_as.cpp:508
void log_debug(StringType msg, Args... args)
Definition: log.h:301
XMLNode_as * firstChild() const
Definition: XMLNode_as.cpp:191
@ i
Definition: GnashKey.h:155
@ PROP_LENGTH
Definition: namedStrings.h:83
#define _(String)
Definition: log.h:44
@ EntityRef
Definition: XMLNode_as.h:62
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
The AVM1 virtual machine.
Definition: VM.h:72
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
Global_as & _global
Definition: XMLNode_as.h:226
bool hasChildNodes() const
Definition: XMLNode_as.cpp:185
Global_as & getGlobal(const as_environment &env)
Definition: as_environment.cpp:651
as_object * childNodes()
Definition: XMLNode_as.cpp:175
@ PROP_CONSTRUCTOR
Definition: namedStrings.h:68
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
virtual void setReachable()
Mark reachable elements.
Definition: XMLNode_as.cpp:488
void setNamespaceURI(const std::string &value)
Definition: XMLNode_as.h:108
void getNamespaceForPrefix(const std::string &prefix, std::string &ns) const
Performs a recursive search of node attributes to find a match.
Definition: XMLNode_as.cpp:360
as_value getMember(as_object &o, const ObjectURI &uri)
Get a member of an object using AS lookup rules.
Definition: as_object.h:756
void escapeXML(std::string &text)
Escape using XML entities.
Definition: XML_as.cpp:104
void removeChild(XMLNode_as *node)
Remove a child node from this XML object.
Definition: XMLNode_as.cpp:214
as_object * createObject(const Global_as &gl)
Definition: Global_as.cpp:303
void nodeValueSet(const std::string &value)
Set value of this node.
Definition: XMLNode_as.h:96
SortedPropertyList enumerateProperties(as_object &obj)
Enumerate all non-hidden properties to the passed container.
Definition: as_object.cpp:1069
std::vector< std::pair< ObjectURI, as_value > > SortedPropertyList
This is used to hold an intermediate copy of an as_object's properties.
Definition: as_object.h:887
static const int DefaultFlags
The most common flags for built-in properties.
Definition: as_object.h:192
void xmlnode_class_init(as_object &where, const ObjectURI &uri)
Definition: XMLNode_as.cpp:522
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
void for_each(C &container, R(T::*pmf)(const A &), const A &arg)
Definition: Renderer_ogl.cpp:690
This is the base class for type-specific object data.
Definition: Relay.h:50
as_object * createClass(Global_as::ASFunction ctor, as_object *prototype)
Create an ActionScript class.
Definition: Global_as.cpp:180
XMLNode_as * cloneNode(bool deep) const
Copy a node.
Definition: XMLNode_as.cpp:198
void setObject(as_object *o)
Associate an as_object with this XMLNode_as.
Definition: XMLNode_as.h:208
bool extractPrefix(std::string &prefix) const
Definition: XMLNode_as.cpp:389
type
Definition: GnashKey.h:330
DSOTEXPORT std::string to_string(int version=7) const
Get a std::string representation for this value.
Definition: as_value.cpp:205
void appendChild(XMLNode_as *node)
Append a child node to this XML object.
Definition: XMLNode_as.cpp:222
#define IF_VERBOSE_ASCODING_ERRORS(x)
Definition: log.h:397
NodeType nodeType() const
Get the type of an XML Node.
Definition: XMLNode_as.h:83
@ Cdata
Definition: XMLNode_as.h:61
@ Document
Definition: XMLNode_as.h:66
void registerNative(as_c_function_ptr fun, unsigned int x, unsigned int y)
Definition: VM.cpp:268
void clearChildren()
Clear all children, making sure unreferenced children are deleted.
Definition: XMLNode_as.cpp:404
void setAttribute(const std::string &name, const std::string &value)
Set a named attribute to a value.
Definition: XMLNode_as.cpp:313
virtual void toString(std::ostream &str, bool encode=false) const
Convert the XMLNode to a string.
Definition: XMLNode_as.cpp:307
@ _1
Definition: GnashKey.h:95
bool descendsFrom(XMLNode_as *node) const
Returns true if 'this' descends from the specified node.
Definition: XMLNode_as.cpp:231
@ DocType
Definition: XMLNode_as.h:67
@ Element
Definition: XMLNode_as.h:58
as_object * createArray()
Construct an Array.
Definition: Global_as.cpp:207
void nodeNameSet(const std::string &name)
Set name of this node.
Definition: XMLNode_as.h:91
const std::string & nodeValue() const
Definition: XMLNode_as.h:80
void nodeTypeSet(NodeType type)
Set the type of an XML Node.
Definition: XMLNode_as.h:86
std::list< XMLNode_as * > Children
Definition: XMLNode_as.h:127
XMLNode_as * lastChild() const
Definition: XMLNode_as.cpp:205
void log_aserror(StringType msg, Args... args)
Definition: log.h:331
@ Text
Definition: XMLNode_as.h:60
@ ProcInstr
Definition: XMLNode_as.h:64
const std::string & nodeName() const
Definition: XMLNode_as.h:78
@ Entity
Definition: XMLNode_as.h:63
@ Notation
Definition: XMLNode_as.h:69
bool getPrefixForNamespace(const std::string &ns, std::string &prefix) const
Performs a recursive search of node attributes to find a match.
Definition: XMLNode_as.cpp:322
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:50
virtual bool set_member(const ObjectURI &uri, const as_value &val, bool ifFound=false)
Set a member value.
Definition: as_object.cpp:583
XMLNode_as * getParent() const
Get the parent XMLNode_as of this node. Can be 0.
Definition: XMLNode_as.h:163
uri
Definition: test.py:12
string_table & getStringTable(const as_environment &env)
Definition: as_environment.cpp:639
@ Comment
Definition: XMLNode_as.h:65
as_object * object()
Return the object associated with this XMLNode_as.
Definition: XMLNode_as.cpp:129
@ DocFragment
Definition: XMLNode_as.h:68
ObjectURI getURI(const VM &vm, const std::string &str, bool lowerCaseHint=false)
Definition: VM.h:290
@ CLASS_XMLNODE
Definition: namedStrings.h:259
@ PROP_ESCAPE
Definition: namedStrings.h:75
@ o
Definition: GnashKey.h:161
@ readOnly
Protect from assigning a value.
Definition: PropFlags.h:42
@ PROP_PROTOTYPE
Definition: namedStrings.h:87
A URI for describing as_objects.
Definition: ObjectURI.h:45
@ Attribute
Definition: XMLNode_as.h:59
@ e
Definition: GnashKey.h:151
size_t length() const
Definition: XMLNode_as.h:76
void setReachable() const
Mark this resource as being reachable.
Definition: GC.h:92