Files
RRJServer/InstructorsAndTrainees/connectorToServer/connectortoserver.h

108 lines
3.2 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 "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"
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);
void SetConnectToServer();
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);
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_msgToClientReady(QString login, QString text);
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_ConnectedToServer(bool state);
void signal_InitMessanger(QList<Trainee> listTrainees);
void signal_msgFromClientReady(QString login, QString text);
private:
void initialize();
void bindConnection();
void createObjects();
private:
QThread *connectionThread;
TCPClient *client;
DataParser *dataParser;
SendSystem *sendSystem;
RecognizeSystem *recognizeSystem;
//Списочная модель БД СУО
QList<Instructor> listInstructors;
QList<Group> listGroups;
QList<Trainee> listTrainees;
QList<Computer> listComputers;
QList<Classroom> listClassrooms;
QList<Task> listTasks;
};
#endif // CONNECTORTOSERVER_H