aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorEugene Sandulenko2019-11-05 00:11:49 +0100
committerEugene Sandulenko2019-11-05 00:31:46 +0100
commit5268e582bf68aef3089a23de88e793f4d3292144 (patch)
tree76ec9dcccbdc7b620d9639af9729855496c0de0d /engines/scumm
parente94e85a1eda3110cc709905429f804ab4bad478c (diff)
downloadscummvm-rg350-5268e582bf68aef3089a23de88e793f4d3292144.tar.gz
scummvm-rg350-5268e582bf68aef3089a23de88e793f4d3292144.tar.bz2
scummvm-rg350-5268e582bf68aef3089a23de88e793f4d3292144.zip
SCUMM HE: MBC: Properly thread async requests
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/he/moonbase/net_main.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp
index 28f865f06d..f93f018ef8 100644
--- a/engines/scumm/he/moonbase/net_main.cpp
+++ b/engines/scumm/he/moonbase/net_main.cpp
@@ -20,6 +20,8 @@
*
*/
+#include "backends/networking/curl/connectionmanager.h"
+
#include "scumm/he/intern_he.h"
#include "scumm/he/moonbase/moonbase.h"
#include "scumm/he/moonbase/net_main.h"
@@ -270,13 +272,15 @@ int32 Net::startQuerySessions() {
if (!_sessionsBeingQueried) { // Do not run parallel queries
debug(1, "Net::startQuerySessions()"); // StartQuerySessions
- Networking::PostRequest rq(_serverprefix + "/lobbies",
+ Networking::PostRequest *rq = new Networking::PostRequest(_serverprefix + "/lobbies",
new Common::Callback<Net, Common::JSONValue *>(this, &Net::startQuerySessionsCallback),
new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::startQuerySessionsErrorCallback));
_sessionsBeingQueried = true;
- rq.start();
+ rq->start();
+
+ ConnMan.addRequest(rq);
}
if (!_sessions)
@@ -388,14 +392,16 @@ int Net::remoteSendData(int typeOfSend, int sendTypeParam, int type, Common::Str
debug("Package to send: %s", res.c_str());
- Networking::PostRequest rq(_serverprefix + "/packet",
+ Networking::PostRequest *rq = new Networking::PostRequest(_serverprefix + "/packet",
new Common::Callback<Net, Common::JSONValue *>(this, &Net::remoteSendDataCallback),
new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::remoteSendDataErrorCallback));
- rq.setPostData(buf, res.size());
- rq.setContentType("application/json");
+ rq->setPostData(buf, res.size());
+ rq->setContentType("application/json");
- rq.start();
+ rq->start();
+
+ ConnMan.addRequest(rq);
if (!wait)
return 0;