small protocol change

This commit is contained in:
Max-Wilhelm Bruker 2009-07-07 14:49:35 +02:00
parent 40d292c4ac
commit 2e0b16e90b
2 changed files with 9 additions and 12 deletions

View file

@ -111,21 +111,20 @@ void Client::readLine()
} else } else
emit gameEvent(event); emit gameEvent(event);
} else if (prefix == "resp") { } else if (prefix == "resp") {
if (values.size() != 2) {
// XXX
}
bool ok; bool ok;
int msgid = values.takeFirst().toInt(&ok); int msgid = values.takeFirst().toInt(&ok);
if (!ok) { if (!ok) {
// XXX // XXX
} }
if (values.empty()) {
// XXX
}
ServerResponse resp; ServerResponse resp;
if (values[0] == "ok") if (values[0] == "ok")
resp = RespOk; resp = RespOk;
else if (values[1] == "password") else if (values[0] == "password")
resp = RespPassword; resp = RespPassword;
else else
resp = RespErr; resp = RespErr;
emit responseReceived(msgid, resp); emit responseReceived(msgid, resp);

View file

@ -6,20 +6,18 @@ bool ReturnMessage::send(ReturnCode code)
ServerSocket *s = qobject_cast<ServerSocket *>(parent()); ServerSocket *s = qobject_cast<ServerSocket *>(parent());
if (!s) if (!s)
return false; return false;
bool success = (code == ReturnOk);
QString returnCodeString; QString returnCodeString;
switch (code) { switch (code) {
case ReturnNothing: return true; case ReturnNothing: return true;
case ReturnOk: break; case ReturnOk: returnCodeString = "ok"; break;
case ReturnLoginNeeded: returnCodeString = "login_needed"; break; case ReturnLoginNeeded: returnCodeString = "login_needed"; break;
case ReturnSyntaxError: returnCodeString = "syntax"; break; case ReturnSyntaxError: returnCodeString = "syntax"; break;
case ReturnContextError: returnCodeString = "context"; break; case ReturnContextError: returnCodeString = "context"; break;
case ReturnPasswordWrong: returnCodeString = "password"; break; case ReturnPasswordWrong: returnCodeString = "password"; break;
} }
s->msg(QString("resp|%1|%2|%3").arg(msg_id) s->msg(QString("resp|%1|%2").arg(msg_id)
.arg(success ? "ok" : "err") .arg(returnCodeString));
.arg(returnCodeString)); return (code == ReturnOk);
return success;
} }
bool ReturnMessage::sendList(const QStringList &args) bool ReturnMessage::sendList(const QStringList &args)