Changed the structure of the class Handler (in particular, rewrite the structure of createSession)

This commit is contained in:
Denis Davydov 2018-07-06 15:38:45 +03:00
parent f694a32f3e
commit 3e4778b576
2 changed files with 12 additions and 13 deletions

View File

@ -5,7 +5,8 @@ Handler::Handler()
using namespace std::placeholders;
handlers = {
{"createSession", std::bind(&Handler::createSession, this, _1)}
{"createSession", std::bind(&Handler::createSession, this, _1)},
{"createSessionSuccess", std::bind(&Handler::createSessionSuccessMethod, this, _1)}
};
network = new Network();
connect(network, &Network::json_received, this, &Handler::handle);
@ -21,16 +22,13 @@ void Handler::handle(QJsonObject jsonReceived)
void Handler::createSession(QJsonObject jsonReceived)
{
QJsonObject jsonSend;
if(jsonReceived.contains("status") != true)
{
jsonSend["peerID"] = my_ipv6;
jsonSend["action"] = "createSession";
jsonSend["status"] = true;
QString peerReceiver = jsonReceived["peerID"].toString();
network->sendDatagram(jsonSend, peerReceiver);
}
else
{
emit createSessionSuccess();
}
jsonSend["peerID"] = my_ipv6;
jsonSend["action"] = "createSessionSuccess";
QString peerReceiver = jsonReceived["peerID"].toString();
network->sendDatagram(jsonSend, peerReceiver);
}
void Handler::createSessionSuccessMethod(QJsonObject jsonReceived)
{
emit createSessionSuccess();
}

View File

@ -17,6 +17,7 @@ class Handler : public QObject
Network *network;
void createSession(QJsonObject jsonReceived);
std::map<QString, std::function<void(QJsonObject)>> handlers;
void createSessionSuccessMethod(QJsonObject jsonReceived);
private slots:
void handle(QJsonObject jsonReceived);
};