summaryrefslogtreecommitdiff
path: root/src/chatchannelmanager.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/chatchannelmanager.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/chatchannelmanager.cpp')
-rw-r--r--src/chatchannelmanager.cpp157
1 files changed, 47 insertions, 110 deletions
diff --git a/src/chatchannelmanager.cpp b/src/chatchannelmanager.cpp
index 05c9ea25..9a2af3b9 100644
--- a/src/chatchannelmanager.cpp
+++ b/src/chatchannelmanager.cpp
@@ -87,8 +87,7 @@ ChatChannelManager::registerPrivateChannel(const std::string& channelName,
return channelId;
}
-bool
-ChatChannelManager::removeChannel(const short channelId)
+bool ChatChannelManager::removeChannel(short channelId)
{
for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
{
@@ -107,154 +106,92 @@ ChatChannelManager::removeChannel(const short channelId)
}
-short
-ChatChannelManager::getChannelId(const std::string& channelName)
+short ChatChannelManager::getChannelId(std::string const &channelName)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->second.getName() == channelName ) return i->first;
- ++i;
+ for (std::map<short, ChatChannel>::const_iterator i = mChatChannels.begin(), i_end = mChatChannels.end();
+ i != i_end; ++i) {
+ if (i->second.getName() == channelName) return i->first;
}
return 0;
}
-const std::string
-ChatChannelManager::getChannelName(const short channelId)
+std::string ChatChannelManager::getChannelName(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId ) return i->second.getName();
- ++i;
- }
- return "";
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ return (i != mChatChannels.end()) ? i->second.getName() : std::string();
}
-const std::string
-ChatChannelManager::getChannelAnnouncement(const short channelId)
+std::string ChatChannelManager::getChannelAnnouncement(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId ) return i->second.getAnnouncement();
- ++i;
- }
- return "None";
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ return (i != mChatChannels.end()) ? i->second.getAnnouncement() : std::string();
}
-const std::string
-ChatChannelManager::getChannelPassword(const short channelId)
+std::string ChatChannelManager::getChannelPassword(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId ) return i->second.getPassword();
- ++i;
- }
- return "None";
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ return (i != mChatChannels.end()) ? i->second.getPassword() : std::string();
}
-bool
-ChatChannelManager::setChannelAnnouncement(const short channelId, const std::string& channelAnnouncement)
+bool ChatChannelManager::setChannelAnnouncement(short channelId, std::string const &channelAnnouncement)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId )
- {
- i->second.setAnnouncement(channelAnnouncement);
- return true;
- }
- ++i;
- }
- return false;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i == mChatChannels.end()) return false;
+ i->second.setAnnouncement(channelAnnouncement);
+ return true;
}
-bool
-ChatChannelManager::setChannelPassword(const short channelId, const std::string& channelPassword)
+bool ChatChannelManager::setChannelPassword(short channelId, std::string const &channelPassword)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId )
- {
- i->second.setPassword(channelPassword);
- return true;
- }
- ++i;
- }
- return false;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i == mChatChannels.end()) return false;
+ i->second.setPassword(channelPassword);
+ return true;
}
-const ChatChannel
-ChatChannelManager::_getChannel(const short channelId)
+ChatChannel ChatChannelManager::_getChannel(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId ) return i->second;
- ++i;
- }
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i != mChatChannels.end()) return i->second;
return ChatChannel("", "", "");
}
-bool
-ChatChannelManager::addUserInChannel(tmwserv::BeingPtr beingPtr, const short channelId)
+bool ChatChannelManager::addUserInChannel(std::string const &user, short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId )
- {
- return i->second.addUserInChannel(beingPtr);
- }
- ++i;
- }
- return false;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i == mChatChannels.end()) return false;
+ return i->second.addUserInChannel(user);
}
-bool
-ChatChannelManager::removeUserFromChannel(tmwserv::BeingPtr beingPtr, const short channelId)
+bool ChatChannelManager::removeUserFromChannel(std::string const &user, short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId )
- {
- return i->second.removeUserFromChannel(beingPtr);
- }
- ++i;
- }
- return false;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i == mChatChannels.end()) return false;
+ return i->second.removeUserFromChannel(user);
}
-void
-ChatChannelManager::removeUserFromEveryChannels(tmwserv::BeingPtr beingPtr)
+void ChatChannelManager::removeUserFromEveryChannels(std::string const &user)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- i->second.removeUserFromChannel(beingPtr);
- ++i;
+ for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(), i_end = mChatChannels.end();
+ i != i_end; ++i) {
+ i->second.removeUserFromChannel(user);
}
}
-std::vector<tmwserv::BeingPtr>
-ChatChannelManager::getUserListInChannel(const short channelId)
+std::vector< std::string > const &
+ChatChannelManager::getUserListInChannel(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId )
- {
- return i->second.getUserList();
- }
- ++i;
- }
- std::vector<tmwserv::BeingPtr> emptyList;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ if (i != mChatChannels.end()) return i->second.getUserList();
+ static std::vector< std::string > emptyList;
return emptyList;
}
-bool
-ChatChannelManager::isChannelRegistered(const short channelId)
+bool ChatChannelManager::isChannelRegistered(short channelId)
{
- for (std::map<short, ChatChannel>::iterator i = mChatChannels.begin(); i != mChatChannels.end();)
- {
- if ( i->first == channelId ) return true;
- ++i;
- }
- return false;
+ std::map<short, ChatChannel>::iterator i = mChatChannels.find(channelId);
+ return i != mChatChannels.end();
}