diff options
author | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2006-05-23 05:35:13 +0000 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2006-05-23 05:35:13 +0000 |
commit | 351f050dd77c7dfae7ab901b9dab08336e59b4fc (patch) | |
tree | 709142480b61e116eca5ac17685e29b6fe658e5a /src/chatchannel.cpp | |
parent | 71ef3ccdc4d628e93d445251121f36a35c6f6a4e (diff) | |
download | manaserv-351f050dd77c7dfae7ab901b9dab08336e59b4fc.tar.gz manaserv-351f050dd77c7dfae7ab901b9dab08336e59b4fc.tar.bz2 manaserv-351f050dd77c7dfae7ab901b9dab08336e59b4fc.tar.xz manaserv-351f050dd77c7dfae7ab901b9dab08336e59b4fc.zip |
Split server into three logical servers: an account server, a chat
server, and a game server.
Diffstat (limited to 'src/chatchannel.cpp')
-rw-r--r-- | src/chatchannel.cpp | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/src/chatchannel.cpp b/src/chatchannel.cpp index ce1f6967..49301474 100644 --- a/src/chatchannel.cpp +++ b/src/chatchannel.cpp @@ -85,40 +85,30 @@ ChatChannel::setPassword(const std::string &channelPassword) mChannelPassword = channelPassword; } -std::vector<tmwserv::BeingPtr> -ChatChannel::getUserList() const +ChatChannel::ChannelUsers const &ChatChannel::getUserList() const { return mRegisteredUsers; } -bool -ChatChannel::addUserInChannel(tmwserv::BeingPtr beingPtr) +bool ChatChannel::addUserInChannel(std::string const &user) { // Check if the user already exists in the channel - for (std::vector<tmwserv::BeingPtr>::iterator i = mRegisteredUsers.begin(); i != mRegisteredUsers.end();) - { - if ( i->get() == beingPtr.get() ) return false; - ++i; - } - mRegisteredUsers.push_back(beingPtr); + ChannelUsers::const_iterator i = mRegisteredUsers.begin(), + i_end = mRegisteredUsers.end(); + if (std::find(i, i_end, user) == i_end) return false; + mRegisteredUsers.push_back(user); return true; } -bool -ChatChannel::removeUserFromChannel(tmwserv::BeingPtr beingPtr) +bool ChatChannel::removeUserFromChannel(std::string const &user) { - for (std::vector<tmwserv::BeingPtr>::iterator i = mRegisteredUsers.begin(); i != mRegisteredUsers.end();) - { - if ( i->get() == beingPtr.get() ) - { - mRegisteredUsers.erase(i); - return true; - } - ++i; - } - return false; + ChannelUsers::iterator i_end = mRegisteredUsers.end(), + i = std::find(mRegisteredUsers.begin(), i_end, user); + if (i == i_end) return false; + mRegisteredUsers.erase(i); + return true; } void ChatChannel::removeEveryUsersFromChannel() |