Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
chat_interface.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2015 est31 <MTest31@outlook.com>
4
5#pragma once
6
7#include "irrlichttypes.h"
8#include "util/container.h" // MutexedQueue
9#include <string>
10
17
18class ChatEvent {
19protected:
20 ChatEvent(ChatEventType a_type) { type = a_type; }
21public:
23};
24
27 u64 a_game_time,
28 u32 a_time) :
30 game_time(a_game_time),
31 time(a_time)
32 {}
33
35 u32 time;
36};
37
38struct ChatEventNick : public ChatEvent {
40 const std::string &a_nick) :
41 ChatEvent(a_type), // one of CET_NICK_ADD, CET_NICK_REMOVE
42 nick(a_nick)
43 {}
44
45 std::string nick;
46};
47
48struct ChatEventChat : public ChatEvent {
49 ChatEventChat(const std::string &a_nick,
50 const std::wstring &an_evt_msg) :
52 nick(a_nick),
53 evt_msg(an_evt_msg)
54 {}
55
56 std::string nick;
57 std::wstring evt_msg;
58};
59
61 MutexedQueue<ChatEvent *> command_queue; // chat backend --> server
62 MutexedQueue<ChatEvent *> outgoing_queue; // server --> chat backend
63};
ChatEventType
Definition chat_interface.h:11
@ CET_CHAT
Definition chat_interface.h:12
@ CET_NICK_REMOVE
Definition chat_interface.h:14
@ CET_TIME_INFO
Definition chat_interface.h:15
@ CET_NICK_ADD
Definition chat_interface.h:13
Definition chat_interface.h:18
ChatEvent(ChatEventType a_type)
Definition chat_interface.h:20
ChatEventType type
Definition chat_interface.h:22
Definition container.h:117
Definition chat_interface.h:48
std::string nick
Definition chat_interface.h:56
ChatEventChat(const std::string &a_nick, const std::wstring &an_evt_msg)
Definition chat_interface.h:49
std::wstring evt_msg
Definition chat_interface.h:57
Definition chat_interface.h:38
std::string nick
Definition chat_interface.h:45
ChatEventNick(ChatEventType a_type, const std::string &a_nick)
Definition chat_interface.h:39
Definition chat_interface.h:25
ChatEventTimeInfo(u64 a_game_time, u32 a_time)
Definition chat_interface.h:26
u64 game_time
Definition chat_interface.h:34
u32 time
Definition chat_interface.h:35
Definition chat_interface.h:60
MutexedQueue< ChatEvent * > command_queue
Definition chat_interface.h:61
MutexedQueue< ChatEvent * > outgoing_queue
Definition chat_interface.h:62