diff --git a/plugin/cpp/networkplugin.cpp b/plugin/cpp/networkplugin.cpp index eba6dcffab6f5a23a305614f5f9e2d88643c1690..fccd33f3e6396230bdcb67043103c9c110f62bef 100644 --- a/plugin/cpp/networkplugin.cpp +++ b/plugin/cpp/networkplugin.cpp @@ -336,6 +336,24 @@ void NetworkPlugin::handleFTData(unsigned long ftID, const std::string &data) { send(message); } +void NetworkPlugin::handleRoomList(const std::string &user, const std::list &rooms, const std::list &names) { + pbnetwork::RoomList d; + for (std::list::const_iterator it = rooms.begin(); it != rooms.end(); it++) { + d.add_room(*it); + } + + for (std::list::const_iterator it = names.begin(); it != names.end(); it++) { + d.add_name(*it); + } + + std::string message; + d.SerializeToString(&message); + + WRAP(message, pbnetwork::WrapperMessage_Type_TYPE_ROOM_LIST); + + send(message); +} + void NetworkPlugin::handleLoginPayload(const std::string &data) { pbnetwork::Login payload; if (payload.ParseFromString(data) == false) {