#ifndef SERVERLMSWIDGET_H #define SERVERLMSWIDGET_H #include "ServerLMS_global.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #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; 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_cmbLanguage_currentTextChanged(const QString &arg1); void on_btnSettings_clicked(); private: void setLanguageInterfase(); 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