#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();
private:
    UpdateNotifyWidget* updateWidget;
    QList<FileData> *filesForUpdate;
    VersionContainer *versionContainer;
};

#endif // HASHCOMPARER_H
