summaryrefslogtreecommitdiff
path: root/src/chat-server/chathandler.cpp
diff options
context:
space:
mode:
authorRoderic Morris <roderic@ccs.neu.edu>2008-06-03 16:31:32 +0000
committerRoderic Morris <roderic@ccs.neu.edu>2008-06-03 16:31:32 +0000
commitaf045b4818333b4360f14981c695817c4c8adb21 (patch)
tree2b22ff5b23906aa87a2cd5383171ffc44283a829 /src/chat-server/chathandler.cpp
parent33d5ea3261e70cba7e0f4af5c1e6eb070f168112 (diff)
downloadmanaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.gz
manaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.bz2
manaserv-af045b4818333b4360f14981c695817c4c8adb21.tar.xz
manaserv-af045b4818333b4360f14981c695817c4c8adb21.zip
stop storing channels in the db, send channel announcements
Diffstat (limited to 'src/chat-server/chathandler.cpp')
-rw-r--r--src/chat-server/chathandler.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp
index 7218cb9d..482e1b2f 100644
--- a/src/chat-server/chathandler.cpp
+++ b/src/chat-server/chathandler.cpp
@@ -340,7 +340,8 @@ ChatHandler::handleRegisterChannelMessage(ChatClient &client, MessageIn &msg)
{
reply.writeByte(ERRMSG_INVALID_ARGUMENT);
}
- else if (guildManager->doesExist(channelName) || chatChannelManager->channelExists(channelName))
+ else if (guildManager->doesExist(channelName) ||
+ chatChannelManager->channelExists(channelName))
{
// Channel already exists
reply.writeByte(ERRMSG_ALREADY_TAKEN);
@@ -368,6 +369,7 @@ ChatHandler::handleRegisterChannelMessage(ChatClient &client, MessageIn &msg)
reply.writeByte(ERRMSG_OK);
reply.writeShort(channelId);
reply.writeString(channelName);
+ reply.writeString(channelAnnouncement);
}
else
{
@@ -582,8 +584,8 @@ ChatHandler::handleGuildCreation(ChatClient &client, MessageIn &msg)
reply.writeByte(true);
// Send autocreated channel id
- short channelId = joinGuildChannel(guildName, client);
- reply.writeShort(channelId);
+ ChatChannel* channel = joinGuildChannel(guildName, client);
+ reply.writeShort(channel->getId());
}
else
{
@@ -661,8 +663,8 @@ ChatHandler::handleGuildAcceptInvite(ChatClient &client, MessageIn &msg)
reply.writeShort(guild->getId());
reply.writeByte(false);
- short id = joinGuildChannel(guild->getName(), client);
- reply.writeShort(id);
+ ChatChannel *channel = joinGuildChannel(guild->getName(), client);
+ reply.writeShort(channel->getId());
}
else
{
@@ -829,10 +831,10 @@ void ChatHandler::sendGuildRejoin(ChatClient &client)
msg.writeByte(leader);
// get channel id of guild channel
- short channelId = joinGuildChannel(guildName, client);
+ ChatChannel *channel = joinGuildChannel(guildName, client);
// send the channel id for the autojoined channel
- msg.writeShort(channelId);
+ msg.writeShort(channel->getId());
client.send(msg);
@@ -857,22 +859,17 @@ void ChatHandler::sendUserLeft(ChatChannel *channel, const std::string &name)
sendInChannel(channel, msg);
}
-int ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &client)
+ChatChannel* ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &client)
{
- int channelId = 0;
// Automatically make the character join the guild chat channel
ChatChannel *channel = chatChannelManager->getChannel(guildName);
if (!channel)
{
// Channel doesnt exist so create it
- channelId = chatChannelManager->createNewChannel(guildName,
+ int channelId = chatChannelManager->createNewChannel(guildName,
"Guild Channel", "", false);
channel = chatChannelManager->getChannel(channelId);
}
- else
- {
- channelId = channel->getId();
- }
// Add user to the channel
if (channel->addUser(&client))
@@ -885,7 +882,7 @@ int ChatHandler::joinGuildChannel(const std::string &guildName, ChatClient &clie
sendGuildListUpdate(guildName, client.characterName);
}
- return channelId;
+ return channel;
}
void ChatHandler::sendGuildListUpdate(const std::string &guildName,