settings, token entry, receive READY

This commit is contained in:
ouwou
2020-08-19 01:07:55 -04:00
parent 18af78e6af
commit 3c3fe3b9f7
15 changed files with 360 additions and 36 deletions

View File

@@ -10,21 +10,38 @@ void Websocket::StartConnection(std::string url) {
m_websocket.start();
}
void Websocket::Stop() {
m_websocket.stop();
}
bool Websocket::IsOpen() const {
auto state = m_websocket.getReadyState();
return state == ix::ReadyState::Open;
}
void Websocket::SetJSONCallback(JSONCallback_t func) {
m_json_callback = func;
}
void Websocket::Send(const std::string &str) {
printf("sending %s\n", str.c_str());
m_websocket.sendText(str);
}
void Websocket::Send(const nlohmann::json &j) {
Send(j.dump());
}
void Websocket::OnMessage(const ix::WebSocketMessagePtr &msg) {
switch (msg->type) {
case ix::WebSocketMessageType::Message:
printf("%s\n", msg->str.c_str());
case ix::WebSocketMessageType::Message: {
if (msg->str.size() > 1000)
printf("%s\n", msg->str.substr(0, 1000).c_str());
else
printf("%s\n", msg->str.c_str());
auto obj = nlohmann::json::parse(msg->str);
if (m_json_callback)
m_json_callback(obj);
break;
} break;
}
}