summaryrefslogtreecommitdiff
path: root/src/chat-server/post.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chat-server/post.cpp')
-rw-r--r--src/chat-server/post.cpp31
1 files changed, 13 insertions, 18 deletions
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));
}
}