Переделано под один мега-проект LMS с общим CMakeLists.txt

This commit is contained in:
krivoshein
2025-01-15 12:34:56 +03:00
parent 3064818931
commit 1c93b1f94d
219 changed files with 68 additions and 51 deletions

135
ServerLMS/serverlmswidget.h Normal file
View File

@@ -0,0 +1,135 @@
#ifndef SERVERLMSWIDGET_H
#define SERVERLMSWIDGET_H
#include "ServerLMS_global.h"
#include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QXmlStreamWriter>
#include <QMap>
#include <QTranslator>
#include <QMutex>
#include <Systems/Parsers/dataparser.h>
#include <Systems/sendsystem.h>
#include <Systems/processingsystem.h>
#include <Systems/updatecontroller.h>
#include <Systems/assetsmanager.h>
#include <Systems/recognizesystem.h>
#include <Systems/logger.h>
#include <Systems/commonclienthandler.h>
#include <Data/typesDataServerClient.h>
#include <Data/Client.h>
#include "multithreadserver.h"
#include "providerdblms.h"
namespace Ui {
class ServerLMSWidget;
}
class DataParser;
class SendSystem;
class ProcessingSystem;
class Logger;
class UpdateController;
class RecognizeSystem;
class ClientHandler;
class MultiThreadServer;
class AssetsManager;
class SERVERLMS_EXPORT ServerLMSWidget : public QWidget
{
Q_OBJECT
public:
explicit ServerLMSWidget(QWidget *parent = nullptr);
~ServerLMSWidget();
void autorizationHandler(QString login);
protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override;
signals:
void sigRecognize();
void sigLog(QString log);
void sigCalculateFullHash();
void sigUpdateController(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager,Logger *logger);
QTcpSocket* sigGetSocket();
public slots:
void slot_LanguageChanged(QString language);
void addClient(qintptr descriptor, ClientHandler *client);
void slotUpdateListClients();
void slot_BlockAutorization(bool block);
void slotAddToLog(QString msg);
public:
void removeClient(int socketId);
void blockAutorization()
{
stateBlockAutorization = blocked;
}
void unBlockAutorization()
{
stateBlockAutorization = unblocked;
}
EStateBlockAutorization getStateBlockAutorization() const
{
return stateBlockAutorization;
}
ProcessingSystem* getProcessingSystem()
{
return processingSystem;
}
QMap<int, ClientHandler *> getClientsMap() const;
Logger *getLogger() const;
private slots:
void on_btnStartServer_clicked();
void on_btnStopServer_clicked();
void on_btnTaskSet_clicked();
private:
bool startServer();
bool stopServer();
private:
Ui::ServerLMSWidget *ui;
private:
MultiThreadServer * tcpServer;
qint16 hostPort;
QMap<int, ClientHandler*> clientsMap;
EStateServer stateServer;
EStateBlockAutorization stateBlockAutorization;
QThread *updateThread;
QThread *loggerThread;
DataParser *dataParser;
ProcessingSystem *processingSystem;
UpdateController *updateController;
AssetsManager *assetsManager;
Logger *logger;
CommonClientHandler *commonClientHandler;
ProviderDBLMS* providerDBLMS;
bool first = true; // для тестов Unity
QTranslator qtLanguageTranslator;
};
#endif // SERVERLMSWIDGET_H