ChatRoomInfo ChatroomFrontpage::GetRoomInfo(const __int64& room_id) { auto iter = id_info_map_.find(room_id); if (iter != id_info_map_.cend()) return iter->second; return ChatRoomInfo(); }
static void CallbackGetChatRoomInfo(__int64 room_id, int error_code, const char *result, const char *json_extension, const void *user_data) { if (user_data) { ChatRoom::GetChatRoomInfoCallback *cb = (ChatRoom::GetChatRoomInfoCallback*)user_data; if (*cb) { Json::Value value; Json::Reader reader; if (reader.parse(PCharToString(result), value) && value.isObject()) { ChatRoomInfo info; info.ParseFromJsonValue(value); (*cb)(room_id, error_code, info); return; } (*cb)(room_id, error_code, ChatRoomInfo()); } } }