#ifndef COREMANAGER_H #define COREMANAGER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include class CoreManager : public QObject { Q_OBJECT public: explicit CoreManager(QObject *parent = nullptr); ~CoreManager(){} void initialize(WidgetManager *widgetManager,QThread *workerThread); void start(); void checkUpdateInfo(); void checkAutoStart(); void setLanguage(const QString &language); VersionContainer *getVersionContainer() const; SendSystem *getSendSystem() const; ResourceManager *getResourceManager() const; RecognizeSystem *getRecognizeSystem() const; void loadToServer(); void undoCurrentChanges(); void startUnityClient(); void tryLogin(); void startOffline(); void sendPacketType(PacketType packetType); void saveServerSettingsWithConnect(); void exit(); void initializeWidgets(); void recalculateState(); signals: void sigInitializeClient(RecognizeSystem *recognize,SendSystem *sendSystem); void sigSendPacketType(PacketType packetType); void sigSendXMLAnswer(QString answer); void sigSetConnect(Settings* serverSettings); void sigCalculateHash(); void sigSendAutorization(); void sigSendCheckUpdate(); bool sigGetConnected(); void sigSendUpdateToServer(); Settings *sigGetClientSettings(); void sigSetLoadSettings(Settings *serverSettings); private: QTranslator translator; TCPClient *tcpClient; DataParser *dataParser; DataParserOutput *dataParserOutput; UpdateController *updateController; RecognizeSystem *recognizeSystem; ScreenChecker *screenChecker; ExternalExecuter *externalExecuter; SendSystem *sendSystem; HashComparer *hashComparer; VersionContainer *versionContainer; ResourceManager *resourceManager; PostProcessorSystem *postProcessorSystem; Client *client; Settings *settings; WidgetManager *widgetManager; QThread *workerThread; quint16 fileCountForUpdate; quint16 filesLoaded; bool isRecovery; bool autostart; void loadStaticData(); void binding(); void initializeSystems(); void callUpdateList(); void showError(ErrorsEnum errorEnum); void checkLoginResult(ServerAuthorization *auth); void checkAccessType(const QString &accessType); void setServerVersion(StreamingVersionData *version); void calcUpdateProgress(); void loadComplete(); void setLocalVersion(); void checkNeedUpdate(bool flag, quint64 size, quint64 fileCount, quint64 deleteCount); void checkUpdate(); void setInlineDebug(QString text); void createNewServerSettings(); }; #endif // COREMANAGER_H