#ifndef PROCESSINGSYSTEM_H #define PROCESSINGSYSTEM_H #include #include #include #include #include "multithreadserver.h" //#include "instructorsandtraineeswidget.h" #include "chatsystem.h" #include "providerdblms.h" #include "docsupdater.h" #include "cficontroller.h" class SendSystem; class ServerLMSWidget; class InstructorsAndTrainees; class Logger; class DataParser; class ClientHandler; class CommonClientHandler; class MultiThreadServer; class CfiController; class ProcessingSystem : public QObject { Q_OBJECT public: explicit ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, DocsUpdater* docsUpdater, CfiController* cfiController, QObject *parent = nullptr); void initialize(MultiThreadServer *server, DataParser* dataParser, CommonClientHandler *commonClientServer, UpdateController *updateComtroller, ChatSystem *chatSystem); void processingClientAutorization(ClientHandler *client, ClientAutorization clientAutorization); void processingClientDeAutorization(ClientHandler *client, ClientDeAutorization clientDeAutorization); void processingClientBlockAuth(ClientHandler *client, bool block, QString type); void processingClientQueryToDB(ClientHandler *client, ClientQueryToDB clientQueryToDB, int id = 0, void* data = nullptr); void processingClientQueryTasksXML(ClientHandler *client, ClientQueryTasksXML clientQueryTasksXML); void processingClientQueryListSubProc(ClientHandler *client, QString dmCode); void processingSendMessage(ClientMessage clientMessage); void processingClientNotify(ClientHandler *client, ClientNotify clientNotify); void setCurrentDataInfo(DataInfo *dataInfo); void sendListTasksAMMofTraineetoClient(ClientHandler* client, int id_trainee); void sendListTasksFIMofTraineetoClient(ClientHandler* client, int id_trainee); void sendListTasksAMMofTraineeByIDtoClient(ClientHandler* client, int id_trainee, QList listID); void sendListTasksFIMofTraineeByIDtoClient(ClientHandler* client, int id_trainee, QList listID); void sendTaskAMMToClient(ClientHandler* client, int id_trainee, TaskAmmFim task); void sendTaskFIMToClient(ClientHandler* client, int id_trainee, TaskAmmFim task); ClientHandler* getUnityClientById(int id); void processingClientDeAutorization(QString login); void processingCFIUpdate(QByteArray array); void processingEntryUnityClient(ClientHandler *client); void processingExitUnityClient(ClientHandler *client); signals: void sigUpdateListClients(); void sigListsInstructorsTraineesChanged_forUserID(int id_user); void sigListInstructorsChanged(); void sigListTraineesChanged(); void sigListGroupsChanged(); void sigStatusTasksAMMofTraineeChanged(int trainee_id); void sigStatusTasksFIMofTraineeChanged(int trainee_id); void sigAddToMessanger(QString login,QString text); void sigSetData(DataInfo *dataInfo); private: CommonClientHandler *commonClientServer; MultiThreadServer *server; DataParser *dataParser; UpdateController *updateController; DocsUpdater* docsUpdater; CfiController* cfiController; ProviderDBLMS* providerDBLMS; ChatSystem *chatSystem; void sendTaskListToUnity(ClientHandler *client); }; #endif // PROCESSINGSYSTEM_H