mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
До трансляции message на ГУИ от Клиента
This commit is contained in:
@@ -75,6 +75,29 @@ void DataParser::createAuthMessage(ClientAutorization *auth)
|
||||
file.close();
|
||||
}
|
||||
|
||||
void DataParser::createToClientMessage(ToClientMessage *toClientMessage)
|
||||
{
|
||||
QFile file(tempName);
|
||||
file.open(QIODevice::WriteOnly);
|
||||
QXmlStreamWriter xmlWriter(&file);
|
||||
|
||||
xmlWriter.setAutoFormatting(true);
|
||||
xmlWriter.writeStartDocument();
|
||||
xmlWriter.writeStartElement("ToClientMessage");
|
||||
|
||||
xmlWriter.writeAttribute("id", QString::number(toClientMessage->id));
|
||||
xmlWriter.writeAttribute("Login", toClientMessage->Login);
|
||||
xmlWriter.writeAttribute("Text", toClientMessage->Text);
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndDocument();
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DataParser::createQueryToDBMessage(ClientQueryToDB *queryToDB, int id, void* data)
|
||||
{
|
||||
QFile file(tempName);
|
||||
|
||||
@@ -22,6 +22,7 @@ public:
|
||||
void saveClientSettrings(QString language,bool isAutoStart);
|
||||
void createFileDataList(QList<FileData> fileDataList,QString filename);
|
||||
void createAuthMessage(ClientAutorization *auth);
|
||||
void createToClientMessage(ToClientMessage *toClientMessage);
|
||||
void createQueryToDBMessage(ClientQueryToDB *queryToDB, int id = 0, void* data = nullptr);
|
||||
void createDeAuthMessage(ClientDeAutorization *deAuth);
|
||||
void createAuthData(ServerAuthorization *serverAuth);
|
||||
|
||||
@@ -31,7 +31,7 @@ void SendSystem::sendDisable()
|
||||
socket->waitForBytesWritten();
|
||||
}
|
||||
|
||||
void SendSystem::sendClientAutorization()
|
||||
void SendSystem::sendXMLmsgGUItoServer()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
@@ -129,23 +129,6 @@ void SendSystem::sendFinish()
|
||||
socket->waitForReadyRead(100);
|
||||
}
|
||||
|
||||
void SendSystem::sendClientQueryToDB()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
|
||||
QFile file(tempName);
|
||||
file.open(QIODevice::ReadOnly);
|
||||
|
||||
QByteArray array = file.readAll();
|
||||
|
||||
stream << PacketType::TYPE_XMLANSWER;
|
||||
stream << array;
|
||||
socket->waitForBytesWritten();
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
SendSystem::~SendSystem()
|
||||
{
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ class SendSystem :public QObject
|
||||
public:
|
||||
explicit SendSystem(QObject* parent = nullptr);
|
||||
void setSocket(QTcpSocket *socket);
|
||||
void sendClientAutorization();
|
||||
void sendXMLmsgGUItoServer();
|
||||
void sendDisable();
|
||||
void sendFileBlock(QString path);
|
||||
void sendFolderBlock(QString path);
|
||||
@@ -20,7 +20,6 @@ public:
|
||||
~SendSystem();
|
||||
void sendFinish();
|
||||
|
||||
void sendClientQueryToDB();
|
||||
signals:
|
||||
void sigSend();
|
||||
QByteArray sigGetXmlAnswer(QString);
|
||||
|
||||
@@ -43,7 +43,6 @@ public:
|
||||
};
|
||||
|
||||
enum TypeQueryToDB{
|
||||
TYPE_QUERY_GET_LIST_INSTRUCTORS,
|
||||
TYPE_QUERY_GET_ALL_LISTS,
|
||||
TYPE_QUERY_NEW_INSTRUCTOR,
|
||||
TYPE_QUERY_DEL_INSTRUCTOR,
|
||||
@@ -73,6 +72,14 @@ public:
|
||||
QString Text;
|
||||
};
|
||||
|
||||
class ToClientMessage
|
||||
{
|
||||
public:
|
||||
int id;
|
||||
QString Login;
|
||||
QString Text;
|
||||
};
|
||||
|
||||
class ServerTask
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -25,7 +25,7 @@ bool ConnectorToServer::authorizationInstructorLocal(QString login, QString pass
|
||||
autorization->TypeClient = TypeClientAutorization::TYPE_GUI;
|
||||
|
||||
dataParser->createAuthMessage(autorization);
|
||||
emit sigSendAutorization();
|
||||
emit signal_sendXMLmsgGUItoServer();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -41,7 +41,7 @@ bool ConnectorToServer::deAuthorizationInstructorLocal(QString login)
|
||||
deAutorization->Login = login;
|
||||
|
||||
dataParser->createDeAuthMessage(deAutorization);
|
||||
emit sigSendDeAutorization();
|
||||
emit signal_sendXMLmsgGUItoServer();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -57,7 +57,25 @@ bool ConnectorToServer::sendQueryToDB(TypeQueryToDB typeQuery, int id, void* dat
|
||||
queryToDB->typeQuery = typeQuery;
|
||||
|
||||
dataParser->createQueryToDBMessage(queryToDB, id, data);
|
||||
emit sigSendQueryToDB();
|
||||
emit signal_sendXMLmsgGUItoServer();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendMessageForClient(int id, QString login, QString text)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ToClientMessage *toClientMessage = new ToClientMessage;
|
||||
toClientMessage->id = id;
|
||||
toClientMessage->Login = login;
|
||||
toClientMessage->Text = text;
|
||||
|
||||
dataParser->createToClientMessage(toClientMessage);
|
||||
emit signal_sendXMLmsgGUItoServer();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -198,6 +216,16 @@ Group ConnectorToServer::getGroup(int id)
|
||||
return Group();
|
||||
}
|
||||
|
||||
int ConnectorToServer::getIdTraineeByLogin(QString login)
|
||||
{
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getLogin() == login)
|
||||
return trainee.getID();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
void ConnectorToServer::slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||
QList<Trainee>* listTrainees,
|
||||
@@ -246,6 +274,13 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasks(QList<Task> listTasks)
|
||||
//emit signal_UpdateDB(false, true);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_msgToClientReady(QString login, QString text)
|
||||
{
|
||||
int id = getIdTraineeByLogin(login);
|
||||
if(id)
|
||||
sendMessageForClient(id, login, text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ConnectorToServer::initialize()
|
||||
@@ -263,10 +298,7 @@ void ConnectorToServer::bindConnection()
|
||||
{
|
||||
connect(this,&ConnectorToServer::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
|
||||
connect(this,&ConnectorToServer::sigSendDeAutorization,sendSystem,&SendSystem::sendClientAutorization);
|
||||
|
||||
connect(this,&ConnectorToServer::sigSendQueryToDB,sendSystem,&SendSystem::sendClientQueryToDB);
|
||||
connect(this,&ConnectorToServer::signal_sendXMLmsgGUItoServer,sendSystem,&SendSystem::sendXMLmsgGUItoServer);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAuth,this,&ConnectorToServer::sigLoginResult);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
|
||||
|
||||
@@ -23,6 +23,7 @@ public:
|
||||
bool deAuthorizationInstructorLocal(QString login);
|
||||
|
||||
bool sendQueryToDB(TypeQueryToDB typeQuery, int id = 0, void* data = nullptr);
|
||||
bool sendMessageForClient(int id, QString login, QString text);
|
||||
|
||||
void SetConnectToServer();
|
||||
|
||||
@@ -46,6 +47,8 @@ public:
|
||||
Trainee getTrainee(int id);
|
||||
Group getGroup(int id);
|
||||
|
||||
int getIdTraineeByLogin(QString login);
|
||||
|
||||
public slots:
|
||||
/*void slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||
QList<Trainee>* listTrainees,
|
||||
@@ -58,16 +61,15 @@ public slots:
|
||||
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 sigSendAutorization();
|
||||
void sigSendDeAutorization();
|
||||
|
||||
void sigSendQueryToDB();
|
||||
QThread *thread);
|
||||
|
||||
void signal_sendXMLmsgGUItoServer();
|
||||
|
||||
void sigLoginResult(ServerAuthorization * serverAuth);
|
||||
void sigDeLoginResult(ServerDeAuthorization * serverDeAuth);
|
||||
|
||||
Reference in New Issue
Block a user