// Copyright (c) 2023 Sentry. All Rights Reserved. #pragma once #include "CoreMinimal.h" class IHttpRequest; enum class ESentrySymToolsStatus : uint8 { Missing = 0, Downloading, Configured }; class FSentrySymToolsDownloader { public: void Download(const TFunction& OnCompleted); ESentrySymToolsStatus GetStatus(); private: void Download(TSharedPtr& Request, const FString& Url, const FString& SavePath, const TFunction& OnCompleted); FString GetSentryCliPath() const; FString GetSentryCliVersion() const; FString GetSymUploadScriptPath() const; TSharedPtr SentryCliDownloadRequest; TSharedPtr SentryScriptDownloadRequest; const static FString SentryCliExecName; const static FString SentrySymUploadScriptName; };