ref: segregate chat sytem

This commit is contained in:
semenov
2025-07-31 10:21:47 +03:00
parent 88239e8491
commit 5a07c144a1
24 changed files with 585 additions and 144 deletions

View File

@@ -0,0 +1,27 @@
#ifndef CHATSYSTEM_H
#define CHATSYSTEM_H
#include "commonclienthandler.h"
#include <QObject>
#include <Data/typesDataServerClient.h>
class ChatSystem : public QObject
{
Q_OBJECT
public:
ChatSystem();
void initialize(CommonClientHandler *commonClientHandler, DataParser *dataParser, QMap<int, ClientHandler*> *clientsMap);
bool sendMessage(ClientMessage message);
//логика хранения отложенных сообщений
//хендлеры для отправки и приема
void sendOldMessages(QString id);
private:
CommonClientHandler *commonClientHandler;
DataParser *dataParser;
QMap<int, ClientHandler*> *clientsMap;
QMap<QString,QStack<ClientMessage>*> *clientNotSendedMessage;
bool sendTo(ClientMessage message);
};
#endif // CHATSYSTEM_H