36 lines
868 B
C
36 lines
868 B
C
|
|
// 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<void(bool)>& OnCompleted);
|
|||
|
|
|
|||
|
|
ESentrySymToolsStatus GetStatus();
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
void Download(TSharedPtr<IHttpRequest, ESPMode::ThreadSafe>& Request, const FString& Url, const FString& SavePath, const TFunction<void(bool)>& OnCompleted);
|
|||
|
|
|
|||
|
|
FString GetSentryCliPath() const;
|
|||
|
|
FString GetSentryCliVersion() const;
|
|||
|
|
FString GetSymUploadScriptPath() const;
|
|||
|
|
|
|||
|
|
TSharedPtr<IHttpRequest, ESPMode::ThreadSafe> SentryCliDownloadRequest;
|
|||
|
|
TSharedPtr<IHttpRequest, ESPMode::ThreadSafe> SentryScriptDownloadRequest;
|
|||
|
|
|
|||
|
|
const static FString SentryCliExecName;
|
|||
|
|
const static FString SentrySymUploadScriptName;
|
|||
|
|
};
|