瀏覽代碼

Minor cleanup - move reinterpret_cast to jsonNode

Ivan Savenko 1 年之前
父節點
當前提交
461bca73f3
共有 4 個文件被更改,包括 7 次插入5 次删除
  1. 1 3
      client/globalLobby/GlobalLobbyClient.cpp
  2. 4 0
      lib/JsonNode.cpp
  3. 1 0
      lib/JsonNode.h
  4. 1 2
      lobby/LobbyServer.cpp

+ 1 - 3
client/globalLobby/GlobalLobbyClient.cpp

@@ -57,9 +57,7 @@ void GlobalLobbyClient::onPacketReceived(const std::shared_ptr<NetworkConnection
 {
 	boost::mutex::scoped_lock interfaceLock(GH.interfaceMutex);
 
-	// FIXME: find better approach
-	const char * payloadBegin = reinterpret_cast<const char*>(message.data());
-	JsonNode json(payloadBegin, message.size());
+	JsonNode json(message.data(), message.size());
 
 	if (json["type"].String() == "authentication")
 	{

+ 4 - 0
lib/JsonNode.cpp

@@ -72,6 +72,10 @@ JsonNode::JsonNode(JsonType Type)
 	setType(Type);
 }
 
+JsonNode::JsonNode(const uint8_t *data, size_t datasize)
+	:JsonNode(reinterpret_cast<const char*>(data), datasize)
+{}
+
 JsonNode::JsonNode(const char *data, size_t datasize)
 {
 	JsonParser parser(data, datasize);

+ 1 - 0
lib/JsonNode.h

@@ -51,6 +51,7 @@ public:
 	JsonNode(JsonType Type = JsonType::DATA_NULL);
 	//Create tree from Json-formatted input
 	explicit JsonNode(const char * data, size_t datasize);
+	explicit JsonNode(const uint8_t * data, size_t datasize);
 	//Create tree from JSON file
 	explicit JsonNode(const JsonPath & fileURI);
 	explicit JsonNode(const std::string & modName, const JsonPath & fileURI);

+ 1 - 2
lobby/LobbyServer.cpp

@@ -129,8 +129,7 @@ void LobbyServer::onDisconnected(const std::shared_ptr<NetworkConnection> & conn
 void LobbyServer::onPacketReceived(const std::shared_ptr<NetworkConnection> & connection, const std::vector<uint8_t> & message)
 {
 	// FIXME: find better approach
-	const char * payloadBegin = reinterpret_cast<const char*>(message.data());
-	JsonNode json(payloadBegin, message.size());
+	JsonNode json(message.data(), message.size());
 
 	if (json["type"].String() == "sendChatMessage")
 		return receiveSendChatMessage(connection, json);