Author: ilor
Date: Mon May 18 10:45:25 2009
New Revision: 35732
URL: http://svn.gna.org/viewcvs/wesnoth?rev=35732&view=rev
Log:
fix and use the predicate version of send_to_many
Modified:
trunk/src/server/game.cpp
trunk/src/server/player_network.cpp
trunk/src/server/player_network.hpp
Modified: trunk/src/server/game.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/game.cpp?rev=35732&r1=35731&r2=35732&view=diff
==============================================================================
--- trunk/src/server/game.cpp (original)
+++ trunk/src/server/game.cpp Mon May 18 10:45:25 2009
@@ -21,6 +21,8 @@
#include "game.hpp"
#include "player_network.hpp"
+
+#include <boost/bind.hpp>
#ifndef __func__
#ifdef __FUNCTION__
@@ -1159,15 +1161,11 @@
std::string packet_type) const
{
DBG_GAME << __func__ << "...\n";
- if (packet_type.empty())
- packet_type = data.root().first_child().to_string();
- simple_wml::string_span s = data.output_compressed();
- for(user_vector::const_iterator i = players_.begin(); i !=
players_.end(); ++i) {
- if(*i != exclude && is_on_team(team,*i)) {
- network::send_raw_data(s.begin(), s.size(), *i,
packet_type);
- }
- }
-}
+ wesnothd::send_to_many(data, players_,
+ boost::bind(&game::is_on_team, this, boost::ref(team), _1),
+ exclude, packet_type);
+}
+
bool game::is_on_team(const simple_wml::string_span& team, const
network::connection player) const {
const simple_wml::node::child_list& side_list =
level_.root().children("side");
Modified: trunk/src/server/player_network.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/player_network.cpp?rev=35732&r1=35731&r2=35732&view=diff
==============================================================================
--- trunk/src/server/player_network.cpp (original)
+++ trunk/src/server/player_network.cpp Mon May 18 10:45:25 2009
@@ -36,13 +36,14 @@
}
void send_to_many(simple_wml::document& data, const connection_vector& vec,
- boost::function<bool (network::connection)>
except_pred, std::string packet_type)
+ boost::function<bool (network::connection)>
except_pred,
+ const network::connection exclude,
std::string packet_type)
{
if (packet_type.empty())
packet_type = data.root().first_child().to_string();
simple_wml::string_span s = data.output_compressed();
for(connection_vector::const_iterator i = vec.begin(); i != vec.end();
++i) {
- if (!except_pred(*i)) {
+ if ((*i != exclude) && !except_pred(*i)) {
network::send_raw_data(s.begin(), s.size(), *i,
packet_type);
}
}
Modified: trunk/src/server/player_network.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/player_network.hpp?rev=35732&r1=35731&r2=35732&view=diff
==============================================================================
--- trunk/src/server/player_network.hpp (original)
+++ trunk/src/server/player_network.hpp Mon May 18 10:45:25 2009
@@ -43,7 +43,8 @@
void send_to_many(simple_wml::document& data,
const connection_vector& vec,
boost::function<bool (network::connection)>
except_pred,
- std::string packet_type);
+ const network::connection exclude = 0,
+ std::string packet_type = "");
} //end namespace wesnothd
#endif
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits