summaryrefslogtreecommitdiff
path: root/src/chat-server
diff options
context:
space:
mode:
Diffstat (limited to 'src/chat-server')
-rw-r--r--src/chat-server/chathandler.cpp2
-rw-r--r--src/chat-server/guild.h2
-rw-r--r--src/chat-server/guildhandler.cpp21
-rw-r--r--src/chat-server/partyhandler.cpp18
-rw-r--r--src/chat-server/post.cpp31
-rw-r--r--src/chat-server/post.h11
6 files changed, 38 insertions, 47 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp
index a33d08a9..cfdb5da6 100644
--- a/src/chat-server/chathandler.cpp
+++ b/src/chat-server/chathandler.cpp
@@ -83,7 +83,7 @@ void ChatHandler::tokenMatched(ChatClient *client, Pending *p)
client->characterName = p->character;
client->accountLevel = p->level;
- CharacterData *c = storage->getCharacter(p->character);
+ auto c = storage->getCharacter(p->character);
if (!c)
{
diff --git a/src/chat-server/guild.h b/src/chat-server/guild.h
index 9cff757e..7f46f88c 100644
--- a/src/chat-server/guild.h
+++ b/src/chat-server/guild.h
@@ -102,7 +102,7 @@ class Guild
/**
* Returns a list of the members in this guild.
*/
- std::list<GuildMember*> getMembers() const
+ const std::list<GuildMember*> &getMembers() const
{ return mMembers; }
/**
diff --git a/src/chat-server/guildhandler.cpp b/src/chat-server/guildhandler.cpp
index a47f8073..e69079e5 100644
--- a/src/chat-server/guildhandler.cpp
+++ b/src/chat-server/guildhandler.cpp
@@ -116,14 +116,11 @@ void ChatHandler::sendGuildListUpdate(Guild *guild,
msg.writeInt16(guild->getId());
msg.writeString(characterName);
msg.writeInt8(eventId);
- std::map<std::string, ChatClient*>::const_iterator chr;
- std::list<GuildMember*> members = guild->getMembers();
- for (std::list<GuildMember*>::const_iterator itr = members.begin();
- itr != members.end(); ++itr)
+ for (auto guildMember : guild->getMembers())
{
- CharacterData *c = storage->getCharacter((*itr)->mId, nullptr);
- chr = mPlayerMap.find(c->getName());
+ auto c = storage->getCharacter(guildMember->mId, nullptr);
+ auto chr = mPlayerMap.find(c->getName());
if (chr != mPlayerMap.end())
{
chr->second->send(msg);
@@ -283,13 +280,11 @@ void ChatHandler::handleGuildGetMembers(ChatClient &client, MessageIn &msg)
{
reply.writeInt8(ERRMSG_OK);
reply.writeInt16(guildId);
- std::list<GuildMember*> memberList = guild->getMembers();
- std::list<GuildMember*>::const_iterator itr_end = memberList.end();
- for (auto itr = memberList.begin();
- itr != itr_end; ++itr)
+
+ for (auto guildMember : guild->getMembers())
{
- CharacterData *c = storage->getCharacter((*itr)->mId, nullptr);
- std::string memberName = c->getName();
+ auto c = storage->getCharacter(guildMember->mId, nullptr);
+ const std::string &memberName = c->getName();
reply.writeString(memberName);
reply.writeInt8(mPlayerMap.find(memberName) != mPlayerMap.end());
}
@@ -313,7 +308,7 @@ void ChatHandler::handleGuildMemberLevelChange(ChatClient &client,
std::string user = msg.readString();
short level = msg.readInt8();
Guild *guild = guildManager->findById(guildId);
- CharacterData *c = storage->getCharacter(user);
+ auto c = storage->getCharacter(user);
if (guild && c)
{
diff --git a/src/chat-server/partyhandler.cpp b/src/chat-server/partyhandler.cpp
index b7e1c8d9..fa615824 100644
--- a/src/chat-server/partyhandler.cpp
+++ b/src/chat-server/partyhandler.cpp
@@ -22,8 +22,9 @@
#include "chatclient.h"
#include "party.h"
-#include "account-server/storage.h"
+#include "account-server/character.h"
#include "account-server/serverhandler.h"
+#include "account-server/storage.h"
#include "common/manaserv_protocol.h"
@@ -32,10 +33,10 @@
using namespace ManaServ;
-void updateInfo(ChatClient *client, int partyId)
+static void updateInfo(ChatClient *client, int partyId)
{
- CharacterData *character = storage->getCharacter(client->characterName);
- GameServerHandler::sendPartyChange(character, partyId);
+ if (auto character = storage->getCharacter(client->characterName))
+ GameServerHandler::sendPartyChange(*character, partyId);
}
void ChatHandler::removeExpiredPartyInvites()
@@ -201,16 +202,13 @@ void ChatHandler::removeUserFromParty(ChatClient &client)
void ChatHandler::informPartyMemberQuit(ChatClient &client)
{
- std::map<std::string, ChatClient*>::iterator itr;
- std::map<std::string, ChatClient*>::const_iterator itr_end = mPlayerMap.end();
-
- for (itr = mPlayerMap.begin(); itr != itr_end; ++itr)
+ for (auto& nameAndClient : mPlayerMap)
{
- if (itr->second->party == client.party)
+ if (nameAndClient.second->party == client.party)
{
MessageOut out(CPMSG_PARTY_MEMBER_LEFT);
out.writeInt32(client.characterId);
- itr->second->send(out);
+ nameAndClient.second->send(out);
}
}
}
diff --git a/src/chat-server/post.cpp b/src/chat-server/post.cpp
index cfd9506b..78fab0ed 100644
--- a/src/chat-server/post.cpp
+++ b/src/chat-server/post.cpp
@@ -20,21 +20,22 @@
#include "post.h"
-#include "../account-server/character.h"
-#include "../common/configuration.h"
+#include "account-server/character.h"
+#include "common/configuration.h"
-Letter::Letter(unsigned type, CharacterData *sender, CharacterData *receiver)
- : mId(0), mType(type), mExpiry(0), mSender(sender), mReceiver(receiver)
+Letter::Letter(unsigned type,
+ std::unique_ptr<CharacterData> sender,
+ std::unique_ptr<CharacterData> receiver)
+ : mId(0)
+ , mType(type)
+ , mExpiry(0)
+ , mSender(std::move(sender))
+ , mReceiver(std::move(receiver))
{
}
Letter::~Letter()
{
- if (mSender)
- delete mSender;
-
- if (mReceiver)
- delete mReceiver;
}
void Letter::setExpiry(unsigned long expiry)
@@ -72,12 +73,12 @@ bool Letter::addAttachment(InventoryItem item)
CharacterData *Letter::getReceiver() const
{
- return mReceiver;
+ return mReceiver.get();
}
CharacterData *Letter::getSender() const
{
- return mSender;
+ return mSender.get();
}
const std::vector<InventoryItem> &Letter::getAttachments() const
@@ -113,10 +114,6 @@ bool Post::addLetter(Letter *letter)
Letter* Post::getLetter(int letter) const
{
- if (letter < 0 || (size_t) letter > mLetters.size())
- {
- return nullptr;
- }
return mLetters[letter];
}
@@ -137,9 +134,7 @@ void PostManager::addLetter(Letter *letter)
{
auto post = new Post();
post->addLetter(letter);
- mPostBox.insert(
- std::pair<CharacterData*, Post*>(letter->getReceiver(), post)
- );
+ mPostBox.insert(std::make_pair(letter->getReceiver(), post));
}
}
diff --git a/src/chat-server/post.h b/src/chat-server/post.h
index de15bf1a..eb8cdb71 100644
--- a/src/chat-server/post.h
+++ b/src/chat-server/post.h
@@ -22,10 +22,11 @@
#define POST_H
#include <map>
+#include <memory>
#include <string>
#include <vector>
-#include "../common/inventorydata.h"
+#include "common/inventorydata.h"
class CharacterData;
@@ -41,7 +42,9 @@ public:
* @param sender Pointer to character that sent the letter
* @param receiver Pointer to character that will receive the letter
*/
- Letter(unsigned type, CharacterData *sender, CharacterData *receiver);
+ Letter(unsigned type,
+ std::unique_ptr<CharacterData> sender,
+ std::unique_ptr<CharacterData> receiver);
~Letter();
@@ -117,8 +120,8 @@ private:
unsigned long mExpiry;
std::string mContents;
std::vector<InventoryItem> mAttachments;
- CharacterData *mSender;
- CharacterData *mReceiver;
+ std::unique_ptr<CharacterData> mSender;
+ std::unique_ptr<CharacterData> mReceiver;
};
class Post