mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
157 lines
3.5 KiB
C++
157 lines
3.5 KiB
C++
#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 <QSystemTrayIcon>
|
||
|
||
#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();
|
||
|
||
void start();
|
||
|
||
public:
|
||
static const QString languageENG;
|
||
static const QString languageRUS;
|
||
|
||
protected:
|
||
// Метод получения событий
|
||
// В нём будет производиться проверка события смены перевода приложения
|
||
void changeEvent(QEvent * event) override;
|
||
|
||
signals:
|
||
//сигнал смены языка
|
||
void signal_LanguageChanged(QString language);
|
||
|
||
//сигнал вывода сообщения из трея
|
||
void signal_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
||
|
||
void signal_Menu_ShowWindow();
|
||
void signal_Menu_HideWindow();
|
||
|
||
void sigRecognize();
|
||
void sigCalculateFullHash();
|
||
void sigUpdateController(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
|
||
QTcpSocket* sigGetSocket();
|
||
|
||
public slots:
|
||
void slot_LanguageChanged(QString language);
|
||
void slot_UpdateListClients();
|
||
void slot_BlockAutorization(bool block);
|
||
void slot_AddMessageToLog(QString message);
|
||
|
||
public:
|
||
QString getLanguage()
|
||
{
|
||
return language;
|
||
}
|
||
|
||
void setError(int code)
|
||
{
|
||
errorCode = code;
|
||
}
|
||
|
||
int hasError() const
|
||
{
|
||
return errorCode;
|
||
}
|
||
|
||
ProcessingSystem* getProcessingSystem()
|
||
{
|
||
return processingSystem;
|
||
}
|
||
|
||
QMutex *getMutex() const
|
||
{
|
||
return mutex;
|
||
}
|
||
|
||
void removeClient(int socketId);
|
||
|
||
private slots:
|
||
void on_btnStartServer_clicked();
|
||
void on_btnStopServer_clicked();
|
||
void on_btnSettings_clicked();
|
||
|
||
private:
|
||
void setLanguageInterfase();
|
||
void updateMyStyleSheet();
|
||
QString loadStyleSheet();
|
||
|
||
void startInitialization();
|
||
|
||
void tryConnectionToDB();
|
||
|
||
void updateStateServer();
|
||
|
||
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;
|
||
|
||
bool flStartInitialization;
|
||
};
|
||
|
||
#endif // SERVERLMSWIDGET_H
|