Files
RRJServer/InstructorsAndTrainees/connectorToServer/connectortoserver.h
semenov e521ff9186 Merge branch 'add-versionController' into merge-task-and-verController
# Conflicts:
#	InstructorsAndTrainees/CMakeLists.txt
#	InstructorsAndTrainees/connectorToServer/Core/recognizesystem.h
#	InstructorsAndTrainees/instructorsandtraineeswidget.cpp
#	ServerLMS/Systems/updatecontroller.cpp
#	ServerLMS/Systems/updatecontroller.h
2025-01-21 15:52:20 +03:00

135 lines
4.1 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 CONNECTORTOSERVER_H
#define CONNECTORTOSERVER_H
#include <QObject>
#include <widgets/versionselectwidget.h>
#include <widgets/waitanimationwidget.h>
#include "Core\tcpclient.h"
#include "Core\dataparser.h"
#include "Core\sendsystem.h"
#include "Core\recognizesystem.h"
#include "instructor.h"
#include "trainee.h"
#include "group.h"
#include "computer.h"
#include "classroom.h"
#include "task.h"
#include "streamingversiondata.h"
class ConnectorToServer : public QObject
{
Q_OBJECT
public:
explicit ConnectorToServer(QObject *parent = nullptr);
bool authorizationInstructorLocal(QString login, QString password);
bool deAuthorizationInstructorLocal(QString login);
bool sendQueryToDB(TypeQueryToDB typeQuery, int id = 0, void* data = nullptr);
bool sendMessageForClient(int id, QString login, QString text);
bool sendQueryTasksXML(QString type);
void SetConnectToServer();
public:
QByteArray getListTaskFimArray();
QByteArray getListTaskAmmArray();
public:
//Запросы к БД (локальной)
QList<Instructor> getListInstructors();
QList<Trainee> getListTrainees();
QList<Group> getListGroups();
QList<Computer> getListComputers();
QList<Classroom> getListClassrooms();
QList<Task> getListTasks();
bool isArchivedInstructor(int id);
bool isAdminInstructor(int id);
bool isLoggedInInstructor(int id);
Instructor getInstructor(int id);
QList<Trainee> getListTraineesInGroup(int id);
bool isArchivedTrainee(int id);
bool isLoggedInTrainee(int id);
Trainee getTrainee(int id);
Group getGroup(int id);
int getIdTraineeByLogin(QString login);
void showVersionSelect();
void activateLoadAnimation(bool flag);
void setLoginName(QString name);
public slots:
/*void slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
QList<Trainee>* listTrainees,
QList<Group>* listGroups);*/
void slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors);
void slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups);
void slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees);
void slot_AnswerQueryToDB_ListComputers(QList<Computer> listComputers);
void slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
void slot_AnswerQueryToDB_ListTasks(QList<Task> listTasks);
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
void slot_msgToClientReady(QString login, QString text);
void showServerList(QList<StreamingVersionData*> *serverList);
signals:
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
void sigInitializeClient(RecognizeSystem *recognizeSystem,
SendSystem *sendSystem,
QThread *thread);
void signal_sendXMLmsgGUItoServer();
void sigLoginResult(ServerAuthorization * serverAuth);
void sigDeLoginResult(ServerDeAuthorization * serverDeAuth);
void signal_UpdateDB(bool treeInstructor, bool treeTrainee);
void signal_UpdateTasksFIM();
void signal_UpdateTasksAMM();
void signal_ConnectedToServer(bool state);
void signal_InitMessanger(QList<Trainee> listTrainees);
void signal_msgFromClientReady(QString login, QString text);
void sigSendAnswerToServer(QByteArray array);
private:
void initialize();
void bindConnection();
void createObjects();
private:
QThread *connectionThread;
TCPClient *client;
DataParser *dataParser;
SendSystem *sendSystem;
RecognizeSystem *recognizeSystem;
VersionSelectWidget *versionSelectWidget;
VersionContainer *versionContainer;
NotifyController *notifyController;
WaitAnimationWidget *waitAnimationWidget;
//Списочная модель БД СУО
QList<Instructor> listInstructors;
QList<Group> listGroups;
QList<Trainee> listTrainees;
QList<Computer> listComputers;
QList<Classroom> listClassrooms;
QList<Task> listTasks;
QByteArray listTaskFimArray;
QByteArray listTaskAmmArray;
};
#endif // CONNECTORTOSERVER_H