[Top][All Lists]
[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;