Files
RRJServer/ServerLMS/serverlmswidget.h
2025-10-24 16:34:53 +03:00

135 lines
3.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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 <Systems/assetsmanager.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 ChatSystem;
class SERVERLMS_EXPORT ServerLMSWidget : public QWidget
{
Q_OBJECT
public:
explicit ServerLMSWidget(QWidget *parent = nullptr);
~ServerLMSWidget();
public:
static const QString languageENG;
static const QString languageRUS;
public:
QString getLanguage();
void setError(int code);
protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override;
signals:
void sigRecognize();
void sigCalculateFullHash();
void sigUpdateController(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
QTcpSocket* sigGetSocket();
//сигнал смены языка
void signal_LanguageChanged(QString language);
public slots:
void slot_LanguageChanged(QString language);
void slotUpdateListClients();
void slot_BlockAutorization(bool block);
void addToLog(QString message);
public:
void removeClient(int socketId);
int hasError() const
{
return errorCode;
}
ProcessingSystem* getProcessingSystem()
{
return processingSystem;
}
QMutex *getMutex() const;
private slots:
void on_btnStartServer_clicked();
void on_btnStopServer_clicked();
void on_btnSettings_clicked();
private:
void setLanguageInterfase();
private:
void updateMyStyleSheet();
QString loadStyleSheet();
private:
Ui::ServerLMSWidget *ui;
private:
MultiThreadServer *server;
QThread *updateThread;
QThread *loggerThread;
QMutex *mutex;
DataParser *dataParser;
ProcessingSystem *processingSystem;
UpdateController *updateController;
AssetsManager *assetsManager;
CommonClientHandler *commonClientHandler;
ChatSystem *chatSystem;
ProviderDBLMS* providerDBLMS;
bool first = true; // для тестов Unity
QTranslator qtLanguageTranslator;
QString language;
int errorCode;
};
#endif // SERVERLMSWIDGET_H