Author: loonycyborg
Date: Sat Mar 24 12:47:56 2012
New Revision: 53636
URL: http://svn.gna.org/viewcvs/wesnoth?rev=53636&view=rev
Log:
Added support for relaying messages to rooms.
Modified:
branches/asio_wesnothd/src/server/server.cpp
branches/asio_wesnothd/src/server/server.hpp
Modified: branches/asio_wesnothd/src/server/server.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/branches/asio_wesnothd/src/server/server.cpp?rev=53636&r1=53635&r2=53636&view=diff
==============================================================================
--- branches/asio_wesnothd/src/server/server.cpp (original)
+++ branches/asio_wesnothd/src/server/server.cpp Sat Mar 24 12:47:56 2012
@@ -1132,6 +1132,9 @@
}
// Lobby
+ if(simple_wml::node* message = doc->child("message")) {
+ handle_message(socket, *message);
+ }
if(simple_wml::node* room_join = doc->child("room_join")) {
handle_room_join(socket, *room_join);
}
@@ -1238,6 +1241,16 @@
response << "Error: unrecognized query: '" << command << "'\n"
<< help_msg;
}
send_server_message(socket, response.str());
+}
+
+void server::handle_message(socket_ptr socket, simple_wml::node& message)
+{
+ std::string room_name = message.attr("room").to_string();
+ if(room_name.empty())
+ room_name = "lobby";
+ simple_wml::document relay_message;
+ message.copy_into(relay_message.root().add_child("message"));
+ room_list_.send_to_room(room_name, relay_message, socket);
}
void server::handle_room_join(socket_ptr socket, simple_wml::node& room_join)
Modified: branches/asio_wesnothd/src/server/server.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/branches/asio_wesnothd/src/server/server.hpp?rev=53636&r1=53635&r2=53636&view=diff
==============================================================================
--- branches/asio_wesnothd/src/server/server.hpp (original)
+++ branches/asio_wesnothd/src/server/server.hpp Sat Mar 24 12:47:56 2012
@@ -67,6 +67,7 @@
void handle_read_from_player(socket_ptr socket,
boost::shared_ptr<simple_wml::document> doc);
void handle_whisper(socket_ptr socket, simple_wml::node& whisper);
void handle_query(socket_ptr socket, simple_wml::node& query);
+ void handle_message(socket_ptr socket, simple_wml::node& message);
void handle_room_join(socket_ptr socket, simple_wml::node& room_join);
void handle_room_part(socket_ptr socket, simple_wml::node& room_join);
void remove_player(socket_ptr socket);
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits