[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libbase/URL.h server/sprite_ins...
From: |
Udo Giacomozzi |
Subject: |
[Gnash-commit] gnash ChangeLog libbase/URL.h server/sprite_ins... |
Date: |
Sat, 12 Jan 2008 12:48:07 +0000 |
CVSROOT: /cvsroot/gnash
Module name: gnash
Changes by: Udo Giacomozzi <udog> 08/01/12 12:48:07
Modified files:
. : ChangeLog
libbase : URL.h
server : sprite_instance.cpp sprite_instance.h
Log message:
* libbase/URL.h: add set method for querystring
* server/sprite_instance.{cpp,h}: implement GET and POST for
loadVariables()
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5384&r2=1.5385
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/URL.h?cvsroot=gnash&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.442&r2=1.443
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.163&r2=1.164
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.5384
retrieving revision 1.5385
diff -u -b -r1.5384 -r1.5385
--- ChangeLog 11 Jan 2008 18:35:49 -0000 1.5384
+++ ChangeLog 12 Jan 2008 12:48:06 -0000 1.5385
@@ -1,3 +1,9 @@
+2008-01-12 Udo Giacomozzi <address@hidden>
+
+ * libbase/URL.h: add set method for querystring
+ * server/sprite_instance.{cpp,h}: implement GET and POST for
+ loadVariables()
+
2008-01-11 Sandro Santilli <address@hidden>
* testsuite/generic-testrunner.sh: sleep a tenth (1/10)
Index: libbase/URL.h
===================================================================
RCS file: /cvsroot/gnash/gnash/libbase/URL.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- libbase/URL.h 13 Dec 2007 01:08:06 -0000 1.18
+++ libbase/URL.h 12 Jan 2008 12:48:06 -0000 1.19
@@ -86,6 +86,10 @@
///
std::string querystring() const { return _querystring; }
+ /// Set the 'querystring' member of this URL to a new value
+ ///
+ void set_querystring(std::string value) { _querystring = value; }
+
/// Return the full absolute URL as a string.
//
/// TODO: make output operator and operator+ for strings
Index: server/sprite_instance.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.442
retrieving revision 1.443
diff -u -b -r1.442 -r1.443
--- server/sprite_instance.cpp 12 Jan 2008 11:04:33 -0000 1.442
+++ server/sprite_instance.cpp 12 Jan 2008 12:48:06 -0000 1.443
@@ -3934,20 +3934,58 @@
}
void
-sprite_instance::loadVariables(const URL& url, short sendVarsMethod)
+sprite_instance::loadVariables(URL url, short sendVarsMethod)
{
// Check host security
// will be done by LoadVariablesThread (down by getStream, that is)
//if ( ! URLAccessManager::allow(url) ) return;
- if ( sendVarsMethod )
+ std::string postdata = "";
+
+ if ( sendVarsMethod ) // 1=GET, 2=POST
+ {
+
+ typedef std::map<std::string, as_value> PropMap;
+ PropMap props;
+ dump_members(props);
+
+ std::string del = "";
+ std::string data = "";
+
+ if ( sendVarsMethod == 1 ) { // GET
+ if (url.querystring() != "")
+ del = "&";
+ else
+ del = "?";
+ }
+
+ for (PropMap::iterator i=props.begin(), e=props.end(); i!=e; ++i)
{
- log_unimpl(_("MovieClip.loadVariables() with GET/POST won't
append vars for now"));
+ std::string name = i->first;
+ std::string value = url.encode(i->second.to_string());
+
+ // This is to filter movieclip properties from local variables. I am
+ // sure there is a better way to do it [TODO]
+ if (name[0] == '_') continue;
+ if (name == "$version") continue;
+
+ data += del + name + "=" + value;
+
+ del = "&";
+
+ }
+
+ if ( sendVarsMethod == 1 ) // GET
+ url.set_querystring(url.querystring() + data);
+ else
+ if ( sendVarsMethod == 2 ) // POST
+ postdata = data;
+
}
try
{
- _loadVariableRequests.push_back(new LoadVariablesThread(url));
+ _loadVariableRequests.push_back(new LoadVariablesThread(url,
postdata));
_loadVariableRequests.back()->process();
}
catch (NetworkException& ex)
Index: server/sprite_instance.h
===================================================================
RCS file: /cvsroot/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -b -r1.163 -r1.164
--- server/sprite_instance.h 2 Jan 2008 19:08:32 -0000 1.163
+++ server/sprite_instance.h 12 Jan 2008 12:48:07 -0000 1.164
@@ -594,7 +594,7 @@
/// If 1, GET will be used.
/// If 2, POST will be used.
///
- void loadVariables(const URL& url, short sendVarsMethod=0);
+ void loadVariables(URL url, short sendVarsMethod=0);
//
// ActionScript support
- [Gnash-commit] gnash ChangeLog libbase/URL.h server/sprite_ins...,
Udo Giacomozzi <=