#include "message.h" #include Message::Hello::Hello() : Base(Types::Hello) { } Message::Hello::Hello(const std::string& v) : Base(Types::Hello), version(v) { } std::pair Message::Hello::serialize() { std::size_t s = version.size(); uint8_t* buf = new uint8_t[s]; memcpy(buf, version.c_str(), version.size()); return std::pair(buf, s); } void Message::Hello::deserialize(uint8_t* data, std::size_t bytes) { version = std::string((char*)data, bytes); } Message::Login::Login() : Base(Types::Login) { } Message::Login::Login(const std::string& n) : Base(Types::Login), nick(n) { } std::pair Message::Login::serialize() { std::size_t s = nick.size(); uint8_t* buf = new uint8_t[s]; memcpy(buf, nick.c_str(), nick.size()); return std::pair(buf, s); } void Message::Login::deserialize(uint8_t* data, std::size_t bytes) { nick = std::string((char*)data, bytes); } Message::LoginResponse::LoginResponse() : Base(Types::LoginResponse) { } Message::LoginResponse::LoginResponse(bool ok) : Base(Types::LoginResponse), login_ok(ok) { } std::pair Message::LoginResponse::serialize() { uint8_t* buf = new uint8_t[1]; buf[0] = uint8_t(login_ok); return std::pair(buf, 1); } void Message::LoginResponse::deserialize(uint8_t* data, std::size_t bytes) { login_ok = bool(data[0]); } Message::GameStart::GameStart() : Base(Types::GameStart) { } std::pair Message::GameStart::serialize() { return std::pair(0, 0); } void Message::GameStart::deserialize(uint8_t* data, std::size_t bytes) { }