[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/as_object.h server/as_ob...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/as_object.h server/as_ob... |
Date: |
Fri, 07 Jul 2006 23:29:51 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/07/07 23:29:51
Modified files:
. : ChangeLog
server : as_object.h as_object.cpp
Log message:
added public dump_members() and private set_prototype() methods.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.480&r2=1.481
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.h?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.6&r2=1.7
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.480
retrieving revision 1.481
diff -u -b -r1.480 -r1.481
--- ChangeLog 7 Jul 2006 15:10:15 -0000 1.480
+++ ChangeLog 7 Jul 2006 23:29:51 -0000 1.481
@@ -1,3 +1,9 @@
+2006-07-08 Sandro Santilli <address@hidden>
+
+ * server/as_object.h, server/as_object.cpp:
+ added public dump_members() and private set_prototype()
+ methods.
+
2006-07-07 Stefan Schweizer <address@hidden>
* libamf/Makefile.am, libgeometry/Makefile.am, plugin/Makefile.am,
Index: server/as_object.h
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- server/as_object.h 5 Jul 2006 17:10:39 -0000 1.4
+++ server/as_object.h 7 Jul 2006 23:29:51 -0000 1.5
@@ -67,9 +67,15 @@
public:
/// Members of this objects in an hash
+ //
+ /// TODO: make this private or protected and provide
+ /// visitor pattern interface
stringi_hash<as_member> m_members;
+ void dump_members() const;
+
/// Reference to this object's '__proto__'
+ // TODO: make private (or protected)
as_object* m_prototype;
/// Construct an ActionScript object with no prototype associated.
@@ -128,11 +134,18 @@
bool instanceOf(as_function* ctor);
protected:
+
/// Get a member as_value by name
bool get_member_default(const tu_stringi& name, as_value* val);
/// Set a member value
void set_member_default(const tu_stringi& name, const as_value& val);
+
+private:
+
+ /// Set this object's '__proto__' member
+ void set_prototype(as_object* proto);
+
};
} // namespace gnash
Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- server/as_object.cpp 7 Jul 2006 13:49:40 -0000 1.6
+++ server/as_object.cpp 7 Jul 2006 23:29:51 -0000 1.7
@@ -110,14 +110,20 @@
}
void
+as_object::set_prototype(as_object* proto)
+{
+ if (m_prototype) m_prototype->drop_ref();
+ m_prototype = proto;
+ if (m_prototype) m_prototype->add_ref();
+}
+
+void
as_object::set_member_default(const tu_stringi& name, const as_value& val )
{
//printf("SET MEMBER: %s at %p for object %p\n", name.c_str(),
val.to_object(), this);
if (name == "__proto__")
{
- if (m_prototype) m_prototype->drop_ref();
- m_prototype = val.to_object();
- if (m_prototype) m_prototype->add_ref();
+ set_prototype(val.to_object());
}
else
{
@@ -178,5 +184,19 @@
return false;
}
+void
+as_object::dump_members() const
+{
+ typedef stringi_hash<as_member>::const_iterator members_iterator;
+
+ log_msg("%d Members of object %p follow",
+ m_members.size(), (void*)this);
+ for ( members_iterator it=m_members.begin(), itEnd=m_members.end();
+ it != itEnd; ++it )
+ {
+ log_msg(" %s: %s", it->first.c_str(),
it->second.get_member_value().to_string());
+ }
+}
+
} // end of gnash namespace
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/as_object.h server/as_ob...,
Sandro Santilli <=