gnash-commit
[Top][All Lists]
Advanced

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

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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso...
Date: Mon, 18 Feb 2008 18:13:15 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/02/18 18:13:15

Modified files:
        .              : ChangeLog 
        server/asobj   : xml.cpp xml.h 

Log message:
        second attempt at XML.sendAndLoad.  This time is a bit more tested.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5678&r2=1.5679
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.71&r2=1.72
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.h?cvsroot=gnash&r1=1.27&r2=1.28

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5678
retrieving revision 1.5679
diff -u -b -r1.5678 -r1.5679
--- ChangeLog   17 Feb 2008 14:03:56 -0000      1.5678
+++ ChangeLog   18 Feb 2008 18:13:14 -0000      1.5679
@@ -1,3 +1,8 @@
+2008-02-18 Sandro Santilli <address@hidden>
+
+       * server/asobj/xml.{cpp,h}: second attempt at XML.sendAndLoad.
+         This time is a bit more tested.
+
 2008-02-17 Sandro Santilli <address@hidden>
 
        * server/asobj/xml.{cpp,h}: implement XML.sendAndLoad (untested).

Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- server/asobj/xml.cpp        17 Feb 2008 14:03:57 -0000      1.71
+++ server/asobj/xml.cpp        18 Feb 2008 18:13:14 -0000      1.72
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: xml.cpp,v 1.71 2008/02/17 14:03:57 strk Exp $ */
+/* $Id: xml.cpp,v 1.72 2008/02/18 18:13:14 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "gnashconfig.h"
@@ -582,25 +582,13 @@
 
 
 void
-XML::load()
-{
-    log_unimpl (__FUNCTION__);
-}
-
-void
-XML::parseXML()
-{
-    log_unimpl (__FUNCTION__);
-}
-
-void
 XML::send()
 {
     log_unimpl (__FUNCTION__);
 }
 
 bool
-XML::sendAndLoad(const URL& url)
+XML::sendAndLoad(const URL& url, XML& target)
 {
     //GNASH_REPORT_FUNCTION;
 
@@ -630,7 +618,7 @@
     }
 
     log_security(_("Loading XML file from url: '%s'"), url.str().c_str());
-    queueLoad(str);
+    target.queueLoad(str);
 
     return true;
 }
@@ -895,20 +883,46 @@
     GNASH_REPORT_FUNCTION;
     boost::intrusive_ptr<XML> ptr = ensureType<XML>(fn.this_ptr);
     
-    if ( ! fn.nargs )
+    if ( fn.nargs < 2 )
     {
         IF_VERBOSE_ASCODING_ERRORS(
-        log_aserror(_("XML.sendAndLoad(): missing argument"));
+        std::stringstream ss;
+        fn.dump_args(ss);
+        log_aserror(_("XML.sendAndLoad(%s): missing arguments"),
+               ss.str().c_str());
         );
-        return as_value();
+        return as_value(false);
     }
 
     const std::string& filespec = fn.arg(0).to_string();
 
+    boost::intrusive_ptr<as_object> targetObj = fn.arg(1).to_object();
+    if ( ! targetObj )
+    {
+        IF_VERBOSE_ASCODING_ERRORS(
+        std::stringstream ss;
+        fn.dump_args(ss);
+        log_aserror(_("XML.sendAndLoad(%s): second argument doesn't cast to an 
object"),
+               ss.str().c_str());
+        );
+        return as_value(false);
+    }
+    XML* target = dynamic_cast<XML*>(targetObj.get());
+    if ( ! target )
+    {
+        IF_VERBOSE_ASCODING_ERRORS(
+        std::stringstream ss;
+        fn.dump_args(ss);
+        log_aserror(_("XML.sendAndLoad(%s): second argument is not an XML 
object"),
+               ss.str().c_str());
+        );
+        return as_value(false);
+    }
+
     URL url(filespec, get_base_url());
 
 //    return as_value(ptr->getAllocated());
-    bool ret = ptr->sendAndLoad(url);
+    bool ret = ptr->sendAndLoad(url, *target);
 
     return ret; // TODO: check expected return values
 }

Index: server/asobj/xml.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- server/asobj/xml.h  17 Feb 2008 14:03:57 -0000      1.27
+++ server/asobj/xml.h  18 Feb 2008 18:13:15 -0000      1.28
@@ -148,13 +148,9 @@
 
     XMLNode *createTextNode(const char *name);
 
-    void load();
-
-    void parseXML();
-
     void send();
 
-    bool sendAndLoad(const URL& url);
+    bool sendAndLoad(const URL& url, XML& target);
 
     size_t getBytesLoaded() const;
     size_t getBytesTotal() const;




reply via email to

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