gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash server/asobj/SharedObject.cpp ChangeLog


From: Rob Savoye
Subject: [Gnash-commit] gnash server/asobj/SharedObject.cpp ChangeLog
Date: Mon, 31 Dec 2007 00:51:06 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Rob Savoye <rsavoye>    07/12/31 00:51:06

Modified files:
        server/asobj   : SharedObject.cpp 
        .              : ChangeLog 

Log message:
                * server/asobj/SharedObject.cpp: Use Element class instead of
                amf_element_t everywhere. 

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/SharedObject.cpp?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5277&r2=1.5278

Patches:
Index: server/asobj/SharedObject.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/SharedObject.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/asobj/SharedObject.cpp       26 Dec 2007 00:46:49 -0000      1.22
+++ server/asobj/SharedObject.cpp       31 Dec 2007 00:51:05 -0000      1.23
@@ -28,6 +28,7 @@
 #include <cerrno>
 
 #include "amf.h"
+#include "element.h"
 #include "sol.h"
 #include "SharedObject.h"
 #include "as_object.h" // for inheritance
@@ -80,9 +81,9 @@
         {
 //            GNASH_REPORT_FUNCTION;
             AMF amf;
-            AMF::amf_element_t el;
+            Element *el;
 
-            const string& name = _st.string_table::value(key);
+            string& name = const_cast<string &>(_st.string_table::value(key));
 
 //            cerr << "FIXME: yes!!!!! " << name << ": "<< 
val.to_debug_string() << endl;
 
@@ -91,10 +92,11 @@
                 if (!val.is_undefined()) {
                     str = val.to_string();
                 }
-                amf.createElement(&el, name, str);
+                el = new amf::Element(name, str);
             }
             if (val.is_bool()) {
-                amf.createElement(&el, name, val.to_bool());
+                bool flag = val.to_bool();
+                el = new amf::Element(name, flag);
             }
             if (val.is_number()) { 
                 double dub;
@@ -103,7 +105,7 @@
                 } else {
                     dub = val.to_number();
                 }
-                amf.createElement(&el, name, dub);
+                el = new amf::Element(name, dub);
             }
             
             _sol.addObj(el);
@@ -195,7 +197,7 @@
 
 #ifndef USE_SOL_READONLY
     if (rcfile.getSOLReadOnly() ) {
-        log_security("Attempting to write object when it's SOL Read Only is 
set! Refusing...",
+        log_security("Attempting to write object %s when it's SOL Read Only is 
set! Refusing...",
                      obj->getFilespec().c_str());
         return as_value(false);
     }
@@ -277,7 +279,7 @@
     }
     
     if ((rcfile.getSOLLocalDomain()) && (strcmp(domain, "localhost") > 0) ) {
-        log_security("Attempting to open non localhost created SOL file!!",
+        log_security("Attempting to open non localhost created SOL file!! %s",
                      obj->getFilespec().c_str());
         return as_value(false);
      }
@@ -335,8 +337,8 @@
         return as_value(obj.get());
     }
     
-    vector<AMF::amf_element_t>::iterator it;
-    vector<AMF::amf_element_t> els = sol.getElements();
+    vector<Element *>::iterator it;
+    vector<Element *> els = sol.getElements();
     log_msg("Read %d AMF objects from %s", els.size(), newspec.c_str());
 
     string_table& st = obj->getVM().getStringTable();
@@ -345,28 +347,28 @@
     boost::intrusive_ptr<as_object> ptr = as.to_object();
     
     for (it = els.begin(); it != els.end(); it++) {
-        AMF::amf_element_t *el = &(*(it));
+        Element *el = (*(it));
 //        log_debug("Adding \"%s\"", el->name.c_str());
-        if (el->type == AMF::NUMBER) {
-            double dub =  *((double *)el->data);
-            ptr->set_member(st.string_table::find(el->name), as_value(dub));
-        } 
-        if (el->type == AMF::BOOLEAN) {
-            if (el->data[0]) {
-                ptr->set_member(st.string_table::find(el->name), 
as_value(true));
+        if (el->getType() == Element::NUMBER) {
+            double dub =  *((double *)el->getData());
+            ptr->set_member(st.string_table::find(el->getName()), 
as_value(dub));
+        } 
+        if (el->getType() == Element::BOOLEAN) {
+            if (el[0] == true) {
+                ptr->set_member(st.string_table::find(el->getName()), 
as_value(true));
             } else {
-                ptr->set_member(st.string_table::find(el->name), 
as_value(false));
+                ptr->set_member(st.string_table::find(el->getName()), 
as_value(false));
             }       
         } 
-        if (el->type == AMF::STRING) {
-            if (el->length == 0) {
-                ptr->set_member(st.string_table::find(el->name), as_value(""));
+        if (el->getType() == Element::STRING) {
+            if (el->getLength() == 0) {
+                ptr->set_member(st.string_table::find(el->getName()), 
as_value(""));
             } else {
-                string str = (const char *)el->data;
-                ptr->set_member(st.string_table::find(el->name), 
as_value(str));
+                string str = (const char *)el->getData();
+                ptr->set_member(st.string_table::find(el->getName()), 
as_value(str));
             }
         } 
-        if (el->type == AMF::OBJECT) {
+        if (el->getType() == Element::OBJECT) {
 //            data.convert_to_object();
 //            ptr->set_member(st.string_table::find(el->name), data);
         } 

Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5277
retrieving revision 1.5278
diff -u -b -r1.5277 -r1.5278
--- ChangeLog   31 Dec 2007 00:26:47 -0000      1.5277
+++ ChangeLog   31 Dec 2007 00:51:05 -0000      1.5278
@@ -1,6 +1,9 @@
 2007-12-30  Rob Savoye  <address@hidden>
 
-       * libamf/element.{cpp,h}: New Elemnent class to represent an AMF
+       * server/asobj/SharedObject.cpp: Use Element class instead of
+       amf_element_t everywhere. 
+       
+       * libamf/element.{cpp,h}: New Element class to represent an AMF
        element. 
        * libamf/Makefile.am: Add element.{cpp,h}, and lcshm.{cpp,h}.
        * libamf/amf.{cpp,h}: Use Element class instead of amf_element_t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]