#ifndef UPDATECONTROLLER_H #define UPDATECONTROLLER_H #include "Core/sendsystem.h" #include "Core/versioncontainer.h" #include "fasthashcalculator.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class UpdateController : public QObject { Q_OBJECT public: explicit UpdateController(QObject *parent = 0); ~UpdateController(); void initialize(VersionContainer *versionContainer,DataParserOutput *dataParser, SendSystem *sendSystem); void calculateCommonHash(); void calculateStreamingHash(); void updateFilesOnServer(QList *fileSendList); void checkCanUpdate(); signals: void sigUpdateComplete(bool flag); void sigSendHashInfo(QString fullSize,QString current); private: SendSystem *sendSystem; DataParserOutput * dataParserOut; FastHashCalculator* hashCalculator; QString applicationFolderPath; VersionContainer *versionContainer; QList appDataList; QList streamingDataList; QList calculateHash(const QString& path,const QString& ignoreName); quint64 getDirectorySize(const QString &path); }; #endif // UPDATECONTROLLER_H