Mana
Loading...
Searching...
No Matches
chathandler.h
Go to the documentation of this file.
1/*
2 * The Mana Client
3 * Copyright (C) 2004-2009 The Mana World Development Team
4 * Copyright (C) 2009-2012 The Mana Developers
5 *
6 * This file is part of The Mana Client.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
24#include "net/chathandler.h"
25#include "net/net.h"
26
28
29#include <queue>
30
31namespace TmwAthena {
32
33class ChatHandler final : public MessageHandler, public Net::ChatHandler
34{
35 public:
37
38 void handleMessage(MessageIn &msg) override;
39
40 void talk(const std::string &text) override;
41
42 void me(const std::string &text) override;
43
44 void privateMessage(const std::string &recipient,
45 const std::string &text) override;
46
47 void channelList() override;
48
49 void enterChannel(const std::string &channel,
50 const std::string &password) override;
51
52 void quitChannel(int channelId) override;
53
54 void sendToChannel(int channelId, const std::string &text) override;
55
56 void userList(const std::string &channel) override;
57
58 void setChannelTopic(int channelId, const std::string &text) override;
59
60 void setUserMode(int channelId, const std::string &name, int mode) override;
61
62 void kickUser(int channelId, const std::string &name) override;
63
64 void who() override {}
65
66 bool whoSupported() const override { return false; }
67
68 void requestOnlineList() override;
69
70 private:
71 std::queue<std::string> mSentWhispers;
72};
73
74} // namespace TmwAthena
void requestOnlineList() override
void channelList() override
void who() override
Definition chathandler.h:64
void userList(const std::string &channel) override
void privateMessage(const std::string &recipient, const std::string &text) override
void setUserMode(int channelId, const std::string &name, int mode) override
void kickUser(int channelId, const std::string &name) override
void handleMessage(MessageIn &msg) override
void me(const std::string &text) override
std::queue< std::string > mSentWhispers
Definition chathandler.h:71
void quitChannel(int channelId) override
void sendToChannel(int channelId, const std::string &text) override
void setChannelTopic(int channelId, const std::string &text) override
void enterChannel(const std::string &channel, const std::string &password) override
bool whoSupported() const override
Definition chathandler.h:66
void talk(const std::string &text) override
Used for parsing an incoming message from eAthena.
Definition messagein.h:35
Warning: buffers and other variables are shared, so there can be only one connection active at a time...