summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-08-23 20:34:31 +0300
committerAndrei Karas <akaras@inbox.ru>2017-08-23 20:55:58 +0300
commit79864826790a33a3583819fe02893eed010381d9 (patch)
tree33b90cf3613900c9de45715e5fea69a721d26f10 /src/net
parent4da8a6304b5b7bb4d2b655ed3471c0ff4a7d610a (diff)
downloadplus-79864826790a33a3583819fe02893eed010381d9.tar.gz
plus-79864826790a33a3583819fe02893eed010381d9.tar.bz2
plus-79864826790a33a3583819fe02893eed010381d9.tar.xz
plus-79864826790a33a3583819fe02893eed010381d9.zip
Add mailqueuetype enum for mail queue types.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/mail2handler.cpp15
-rw-r--r--src/net/eathena/mail2handler.h9
-rw-r--r--src/net/eathena/mail2recv.cpp22
-rw-r--r--src/net/mail2handler.h11
-rw-r--r--src/net/tmwa/mail2handler.cpp10
-rw-r--r--src/net/tmwa/mail2handler.h9
6 files changed, 42 insertions, 34 deletions
diff --git a/src/net/eathena/mail2handler.cpp b/src/net/eathena/mail2handler.cpp
index f3ed3201d..1b19e4823 100644
--- a/src/net/eathena/mail2handler.cpp
+++ b/src/net/eathena/mail2handler.cpp
@@ -140,21 +140,20 @@ void Mail2Handler::sendMail(const std::string &to,
outMsg.writeString(body, bodySz, "body");
}
-bool Mail2Handler::queueSendMail(const std::string &to,
- const std::string &title,
- const std::string &body,
- const int64_t &money) const
+void Mail2Handler::queueCheckName(const MailQueueTypeT type,
+ const std::string &to,
+ const std::string &title,
+ const std::string &body,
+ const int64_t &money) const
{
- if (!Mail2Recv::mMailQueue.empty())
- return false;
MailQueue *const mail = new MailQueue;
mail->to = to;
mail->title = title;
mail->body = body;
mail->money = money;
- mail->sendMail = true;
+ mail->type = type;
Mail2Recv::mMailQueue.push(mail);
- return true;
+ requestCheckName(to);
}
void Mail2Handler::nextPage(const MailOpenTypeT openType,
diff --git a/src/net/eathena/mail2handler.h b/src/net/eathena/mail2handler.h
index 8e450da9d..0b7957375 100644
--- a/src/net/eathena/mail2handler.h
+++ b/src/net/eathena/mail2handler.h
@@ -48,10 +48,11 @@ class Mail2Handler final : public Net::Mail2Handler
const std::string &body,
const int64_t &money) const override final;
- bool queueSendMail(const std::string &to,
- const std::string &title,
- const std::string &body,
- const int64_t &money) const override final;
+ void queueCheckName(const MailQueueTypeT type,
+ const std::string &to,
+ const std::string &title,
+ const std::string &body,
+ const int64_t &money) const override final;
void nextPage(const MailOpenTypeT openType,
const int64_t mailId) const override final;
diff --git a/src/net/eathena/mail2recv.cpp b/src/net/eathena/mail2recv.cpp
index 1af7d47e2..04f7751a3 100644
--- a/src/net/eathena/mail2recv.cpp
+++ b/src/net/eathena/mail2recv.cpp
@@ -116,16 +116,20 @@ void Mail2Recv::processCheckNameResult(Net::MessageIn &msg)
delete mail;
return;
}
- if (mail->sendMail)
+ switch (mail->type)
{
- mail2Handler->sendMail(mail->to,
- mail->title,
- mail->body,
- mail->money);
- }
- else
- {
- reportAlways("Not implemented yet.");
+ case MailQueueType::SendMail:
+ mail2Handler->sendMail(mail->to,
+ mail->title,
+ mail->body,
+ mail->money);
+ break;
+ case MailQueueType::Unknown:
+ case MailQueueType::EditMail:
+ case MailQueueType::ValidateTO:
+ default:
+ reportAlways("Not implemented yet.");
+ break;
}
delete mail;
}
diff --git a/src/net/mail2handler.h b/src/net/mail2handler.h
index 2fd0f594c..47b441f77 100644
--- a/src/net/mail2handler.h
+++ b/src/net/mail2handler.h
@@ -23,6 +23,8 @@
#include "enums/net/mailopentype.h"
+#include "enums/resources/mailqueuetype.h"
+
#include <string>
#include "localconsts.h"
@@ -56,10 +58,11 @@ class Mail2Handler notfinal
const std::string &body,
const int64_t &money) const = 0;
- virtual bool queueSendMail(const std::string &to,
- const std::string &title,
- const std::string &body,
- const int64_t &money) const = 0;
+ virtual void queueCheckName(const MailQueueTypeT type,
+ const std::string &to,
+ const std::string &title,
+ const std::string &body,
+ const int64_t &money) const = 0;
virtual void nextPage(const MailOpenTypeT openType,
const int64_t mailId) const = 0;
diff --git a/src/net/tmwa/mail2handler.cpp b/src/net/tmwa/mail2handler.cpp
index b964af8cd..d79e9585e 100644
--- a/src/net/tmwa/mail2handler.cpp
+++ b/src/net/tmwa/mail2handler.cpp
@@ -56,12 +56,12 @@ void Mail2Handler::sendMail(const std::string &to A_UNUSED,
{
}
-bool Mail2Handler::queueSendMail(const std::string &to A_UNUSED,
- const std::string &title A_UNUSED,
- const std::string &body A_UNUSED,
- const int64_t &money A_UNUSED) const
+void Mail2Handler::queueCheckName(const MailQueueTypeT type A_UNUSED,
+ const std::string &to A_UNUSED,
+ const std::string &title A_UNUSED,
+ const std::string &body A_UNUSED,
+ const int64_t &money A_UNUSED) const
{
- return false;
}
void Mail2Handler::nextPage(const MailOpenTypeT openType A_UNUSED,
diff --git a/src/net/tmwa/mail2handler.h b/src/net/tmwa/mail2handler.h
index 6a3b1639b..e39e99347 100644
--- a/src/net/tmwa/mail2handler.h
+++ b/src/net/tmwa/mail2handler.h
@@ -48,10 +48,11 @@ class Mail2Handler final : public Net::Mail2Handler
const std::string &body,
const int64_t &money) const override final;
- bool queueSendMail(const std::string &to,
- const std::string &title,
- const std::string &body,
- const int64_t &money) const override final;
+ void queueCheckName(const MailQueueTypeT type,
+ const std::string &to,
+ const std::string &title,
+ const std::string &body,
+ const int64_t &money) const override final;
void nextPage(const MailOpenTypeT openType,
const int64_t mailId) const override final;