Author: ilor
Date: Tue May 19 11:02:03 2009
New Revision: 35748

URL: http://svn.gna.org/viewcvs/wesnoth?rev=35748&view=rev
Log:
the not_logged_in_ pseudo-game was only used as a set of player identifiers, so 
use a std::set instead of hacks in the game class.

Modified:
    trunk/src/server/server.cpp
    trunk/src/server/server.hpp

Modified: trunk/src/server/server.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/server.cpp?rev=35748&r1=35747&r2=35748&view=diff
==============================================================================
--- trunk/src/server/server.cpp (original)
+++ trunk/src/server/server.cpp Tue May 19 11:02:03 2009
@@ -296,7 +296,7 @@
        players_(),
        ghost_players_(),
        games_(),
-       not_logged_in_(players_),
+       not_logged_in_(),
        lobby_(),
        input_(),
        config_file_(config_file),
@@ -648,7 +648,7 @@
                                        DBG_SERVER << ip << "\tnew connection 
accepted. (socket: "
                                                << sock << ")\n";
                                        send_doc(version_query_response_, sock);
-                                       not_logged_in_.add_player(sock, true);
+                                       not_logged_in_.insert(sock);
                                }
                        }
 
@@ -737,9 +737,10 @@
                        // Was the user already logged in?
                        const wesnothd::player_map::iterator pl_it = 
players_.find(e.socket);
                        if (pl_it == players_.end()) {
-                               if (not_logged_in_.is_observer(e.socket)) {
+                               std::set<network::connection>::iterator i = 
not_logged_in_.find(e.socket);
+                               if (i != not_logged_in_.end()) {
                                        DBG_SERVER << ip << "\tNot logged in 
user disconnected.\n";
-                                       not_logged_in_.remove_player(e.socket);
+                                       not_logged_in_.erase(i);
                                } else {
                                        WRN_SERVER << ip << "\tWarning: User 
disconnected right after the connection was accepted.\n";
                                }
@@ -829,7 +830,7 @@
        if(root.has_attr("ping")) {
                // Ignore client side pings for now.
                return;
-       } else if(not_logged_in_.is_observer(sock)) {
+       } else if(not_logged_in_.find(sock) != not_logged_in_.end()) {
                // Someone who is not yet logged in is sending login details.
                process_login(sock, data);
        } else if (simple_wml::node* query = root.child("query")) {
@@ -1069,7 +1070,7 @@
        if( !selective_ping )
          ghost_players_.insert(sock) ;
 
-       not_logged_in_.remove_player(sock);
+       not_logged_in_.erase(sock);
        lobby_.add_player(sock);
        // Send the new player the entire list of games and players
        send_doc(games_and_users_list_, sock);

Modified: trunk/src/server/server.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/server.hpp?rev=35748&r1=35747&r2=35748&view=diff
==============================================================================
--- trunk/src/server/server.hpp (original)
+++ trunk/src/server/server.hpp Tue May 19 11:02:03 2009
@@ -38,7 +38,7 @@
        std::set<network::connection> ghost_players_;
 
        std::vector<wesnothd::game*> games_;
-       wesnothd::game not_logged_in_;
+       std::set<network::connection> not_logged_in_;
 
        /** The lobby is implemented as a room. */
        wesnothd::room lobby_;


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to