// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #pragma once #include "ZipUtilityInterface.generated.h" UENUM(BlueprintType) enum EZipUtilityCompletionState { SUCCESS, FAILURE_NOT_FOUND, FAILURE_UNKNOWN }; UINTERFACE(MinimalAPI) class UZipUtilityInterface : public UInterface { GENERATED_UINTERFACE_BODY() }; class ZIPUTILITY_API IZipUtilityInterface { GENERATED_IINTERFACE_BODY() public: /** * Called during process as it completes. Currently updates on per file progress. * @param percentage - percentage done */ UFUNCTION(BlueprintNativeEvent, Category = ZipUtilityProgressEvents) void OnProgress(const FString& archive, float percentage, int32 bytes); /** * Called when whole process is complete (e.g. unzipping completed on archive) */ UFUNCTION(BlueprintNativeEvent, Category = ZipUtilityProgressEvents) void OnDone(const FString& archive, EZipUtilityCompletionState CompletionState); /** * Called at beginning of process (NB this only supports providing size information for up to 2gb) TODO: fix 32bit BP size issue */ UFUNCTION(BlueprintNativeEvent, Category = ZipUtilityProgressEvents) void OnStartProcess(const FString& archive, int32 bytes); /** * Called when file process is complete * @param path - path of the file that finished */ UFUNCTION(BlueprintNativeEvent, Category = ZipUtilityProgressEvents) void OnFileDone(const FString& archive, const FString& file); /** * Called when a file is found in the archive (e.g. listing the entries in the archive) * @param path - path of file * @param size - compressed size */ UFUNCTION(BlueprintNativeEvent, Category = ZipUtilityListEvents) void OnFileFound(const FString& archive, const FString& file, int32 size); };