#ifndef ASSETSMANAGER_H #define ASSETSMANAGER_H #include #include #include class AssetsManager : public QObject { Q_OBJECT public: explicit AssetsManager(QObject *parent = nullptr); void initialize(UpdateController* updateContoller,DataParser *dataParser); void addVersion(StreamingVersionData *data); void createCopyVersion(QString versionName,QString newName,QString author); void deleteVersion(QString version); void setVersionList(QList *streamingVersion); bool findDuplicate(QString name); void createFirstVersionListXML(QList assets); QString getLastVersion(); QString setVersion(QString versionName); QList *prepareLocalPathList(QList*fileData); QList *prepareRealPathList(QList *fileData); QList *getRealPathList(); ~AssetsManager(); StreamingVersionData *getCurrentVersionData() const; void saveVersionToFile(StreamingVersionData *streamingVersion); void writeVersionsToFile(QList version,bool isFirst); signals: void sigSaveVersion(StreamingVersionData *versionData); void signal_setVersion(QString versionStr); private: UpdateController *updateController; QList *datas; StreamingVersionData* currentVersionData; void copyAllRecurse(QString source, QString destination); void fillDatas(); }; #endif // ASSETSMANAGER_H