ref: clientMap to MultithreadServer

This commit is contained in:
semenov
2025-08-06 09:55:14 +03:00
parent c3bd64588a
commit 305fcb2fad
7 changed files with 153 additions and 146 deletions

View File

@@ -2,21 +2,40 @@
#define MULTITHREADSERVER_H
#include "serverlmswidget.h"
#include "Systems/processingsystem.h"
#include <QObject>
class ProcessingSystem;
class MultiThreadServer : public QTcpServer
{
Q_OBJECT
public:
MultiThreadServer( ServerLMSWidget *widget,UpdateController *updateController,
DataParser *dataParser,Logger *logger,QObject *parent = nullptr);
MultiThreadServer(ServerLMSWidget *widget,UpdateController *updateController,ProcessingSystem *processingSystem,
DataParser *dataParser,Logger *logger, qint16 hostPort, QObject *parent = nullptr);
QMap<int, ClientHandler *> *getClientsMap() const;
void updateClientList();
void disableClients();
bool startServer();
bool stopServer();
void blockAutorization()
{
stateBlockAutorization = blocked;
}
void unBlockAutorization()
{
stateBlockAutorization = unblocked;
}
EStateBlockAutorization getStateBlockAutorization() const
{
return stateBlockAutorization;
}
signals:
void sigInitClient(int descriptor, ServerLMSWidget *serverWidget,
UpdateController *updateController, DataParser *dataParser,Logger *logger);
UpdateController *updateController, DataParser *dataParser,Logger *logger);
void signalStopSendFile();
void sigSendToLogger(QString text);
@@ -27,9 +46,18 @@ protected:
private:
ServerLMSWidget *serverLmsWidget;
QMap<int, ClientHandler*> *clientsMap;
qint16 hostPort;
ProcessingSystem *processingSystem;
UpdateController *updateController;
DataParser *dataParser;
Logger *logger;
EStateServer stateServer;
EStateBlockAutorization stateBlockAutorization;
void removeClient(int idSocket);
void addClient(qintptr descriptor, ClientHandler *client);
};
#endif // MULTITHREADSERVER_H