#pragma once #include "CoreMinimal.h" #include "7zpp.h" #include "ListCallback.h" #include "ProgressCallback.h" using namespace SevenZip; /** * Forwards events from the 7zpp library to the UE4 listener. */ class ZIPUTILITY_API SevenZipCallbackHandler : public ListCallback, public ProgressCallback { public: virtual void OnProgress(const TString& archivePath, uint64 bytes) override; virtual void OnDone(const TString& archivePath) override; virtual void OnFileDone(const TString& archivePath, const TString& filePath, uint64 bytes) override; virtual void OnStartWithTotal(const TString& archivePath, unsigned __int64 totalBytes) override; virtual void OnFileFound(const TString& archivePath, const TString& filePath, int size) override; virtual void OnListingDone(const TString& archivePath) override; virtual bool OnCheckBreak() override; uint64 BytesLeft = 0; uint64 TotalBytes = 0; UObject* ProgressDelegate = nullptr; FThreadSafeBool bCancelOperation = false; };