From 77ee206cd7fc5cf98861a3aa1a579e40ad3c872d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 5 Nov 2019 00:21:24 +0100 Subject: SCUMM HE: MBC: Implement Net::disableSessionJoining() --- engines/scumm/he/moonbase/net_main.cpp | 22 +++++++++++++++++++++- engines/scumm/he/moonbase/net_main.h | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'engines/scumm/he') diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp index f93f018ef8..4645f30c70 100644 --- a/engines/scumm/he/moonbase/net_main.cpp +++ b/engines/scumm/he/moonbase/net_main.cpp @@ -228,7 +228,27 @@ void Net::endSessionErrorCallback(Networking::ErrorResponse error) { void Net::disableSessionJoining() { - warning("STUB: Net::disableSessionJoining()"); // PN_DisableSessionPlayerJoin + debug(1, "Net::disableSessionJoining()"); // PN_DisableSessionPlayerJoin + + Networking::PostRequest *rq = new Networking::PostRequest(_serverprefix + "/disablesession", + new Common::Callback(this, &Net::disableSessionJoiningCallback), + new Common::Callback(this, &Net::disableSessionJoiningErrorCallback)); + + char *buf = (char *)malloc(MAX_PACKET_SIZE); + snprintf(buf, MAX_PACKET_SIZE, "{\"sessionid\":%d}", _sessionid); + rq->setPostData((byte *)buf, strlen(buf)); + rq->setContentType("application/json"); + + rq->start(); + + ConnMan.addRequest(rq); +} + +void Net::disableSessionJoiningCallback(Common::JSONValue *response) { +} + +void Net::disableSessionJoiningErrorCallback(Networking::ErrorResponse error) { + warning("Error in disableSessionJoining(): %ld %s", error.httpResponseCode, error.response.c_str()); } void Net::enableSessionJoining() { diff --git a/engines/scumm/he/moonbase/net_main.h b/engines/scumm/he/moonbase/net_main.h index c23a0b0c0c..31dba6730f 100644 --- a/engines/scumm/he/moonbase/net_main.h +++ b/engines/scumm/he/moonbase/net_main.h @@ -78,6 +78,9 @@ private: void addUserCallback(Common::JSONValue *response); void addUserErrorCallback(Networking::ErrorResponse error); + void disableSessionJoiningCallback(Common::JSONValue *response); + void disableSessionJoiningErrorCallback(Networking::ErrorResponse error); + void endSessionCallback(Common::JSONValue *response); void endSessionErrorCallback(Networking::ErrorResponse error); -- cgit v1.2.3