Files
RRJClient/Core/hashcomparer.h
2026-03-10 14:35:05 +03:00

38 lines
1.1 KiB
C++

#ifndef HASHCOMPARER_H
#define HASHCOMPARER_H
#include <QCoreApplication>
#include <QObject>
#include <QFile>
#include <Data/FileData.h>
#include <Core/tools.h>
#include <Widgets/updatenotifywidget.h>
class HashComparer :public QObject
{
Q_OBJECT
public:
explicit HashComparer(QObject *parent = nullptr);
void initialize(VersionContainer *versionContainer,UpdateNotifyWidget* updateWidget);
void CompareDeltas(QList<FileData> *serverStreamingHash, QList<FileData> localStreamingHash);
~HashComparer() = default;
void showDeltas();
quint16 getFileUpdateCount() const;
QList<FileData> *getFilesForUpdate() const;
signals:
void sigCallCheck();
void sigHaveDelta();
void sigAddToList(FileData local, FileData server);
QList<FileData> *sigGetUpdateList() const;
private:
UpdateNotifyWidget* updateWidget;
QList<FileData> *filesForUpdate;
QList<FileData> *serverFiles;
VersionContainer *versionContainer;
quint32 findIndexByPath(const QList<FileData> &serverStreamingHash, QString path);
};
#endif // HASHCOMPARER_H