Files
RRJServer/LibServer/Systems/recognizesystem.h
2026-02-06 15:02:55 +03:00

63 lines
1.5 KiB
C++

#ifndef RECOGNIZESYSTEM_H
#define RECOGNIZESYSTEM_H
#include <QDataStream>
#include <QTcpSocket>
#include <QMutex>
#include <Systems/updatecontroller.h>
#include <Systems/tools.h>
#include <Systems/Parsers/dataparser.h>
#include <Data/Client.h>
#include <Data/PacketType.h>
class UpdateController;
class ClientHandler;
class RecognizeSystem : public QObject
{
Q_OBJECT
public:
RecognizeSystem(QObject *parent = nullptr);
void initialize(UpdateController *updateController,DataParser *dataParser, SendSystem *sendSystem, ClientHandler *handler);
void recognize();
~RecognizeSystem();
signals:
void sigCalculateHash();
void sigSendToLogger(QString string);
void sigXmlParser(ClientHandler *clientHandler,QByteArray data);
void sigChangeVersion(QString versionName);
void sigDeleteVersion(QString versionName);
void sigCopyVersion(QString versionName,QString newVersionName,QString author);
//void sigRecalculateDocs();
void sigSendDocs(QString docsPath);
void signal_updateDocsXML();
private:
UpdateController *updateController;
SendSystem *sendSystem;
DataParser *dataParser;
QString command;
PacketType packetType;
QString filePath;
ClientHandler *clientHandler;
QMutex *mutex;
QTcpSocket *socket;
QByteArray tmpBlock;
qint64 sizeReceiveData;
qint64 fileSize;
int countSend;
void packetTypeInit(PacketType packet,Client *client);
bool checkIsChangeable();
};
#endif // RECOGNIZESYSTEM_H