summaryrefslogtreecommitdiff
path: root/src/chatchannel.cpp
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-05-23 05:35:13 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-05-23 05:35:13 +0000
commit351f050dd77c7dfae7ab901b9dab08336e59b4fc (patch)
tree709142480b61e116eca5ac17685e29b6fe658e5a /src/chatchannel.cpp
parent71ef3ccdc4d628e93d445251121f36a35c6f6a4e (diff)
downloadmanaserv-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.cpp34
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()