zworld-em/Plugins/sentry-unreal/Source/Sentry/Public/SentryBreadcrumb.h
2025-05-11 22:07:21 +08:00

67 lines
1.8 KiB
C++

// Copyright (c) 2022 Sentry. All Rights Reserved.
#pragma once
#include "SentryDataTypes.h"
#include "SentryBreadcrumb.generated.h"
class ISentryBreadcrumb;
/**
* Information to create a trail of events that happened prior to an issue.
*/
UCLASS(BlueprintType)
class SENTRY_API USentryBreadcrumb : public UObject
{
GENERATED_BODY()
public:
USentryBreadcrumb();
/** Sets message of the breadcrumb. */
UFUNCTION(BlueprintCallable, Category = "Sentry")
void SetMessage(const FString& Message);
/** Gets message of the breadcrumb. */
UFUNCTION(BlueprintPure, Category = "Sentry")
FString GetMessage() const;
/** Sets type of the breadcrumb. */
UFUNCTION(BlueprintCallable, Category = "Sentry")
void SetType(const FString& Type);
/** Gets type of the breadcrumb. */
UFUNCTION(BlueprintPure, Category = "Sentry")
FString GetType() const;
/** Sets category of the breadcrumb. */
UFUNCTION(BlueprintCallable, Category = "Sentry")
void SetCategory(const FString& Category);
/** Gets category of the breadcrumb. */
UFUNCTION(BlueprintPure, Category = "Sentry")
FString GetCategory() const;
/** Sets data associated with the breadcrumb. */
UFUNCTION(BlueprintCallable, Category = "Sentry")
void SetData(const TMap<FString, FString>& Data);
/** Gets data associated with the breadcrumb. */
UFUNCTION(BlueprintPure, Category = "Sentry")
TMap<FString, FString> GetData() const;
/** Sets the level of the breadcrumb. */
UFUNCTION(BlueprintCallable, Category = "Sentry")
void SetLevel(ESentryLevel Level);
/** Gets the level of the breadcrumb. */
UFUNCTION(BlueprintPure, Category = "Sentry")
ESentryLevel GetLevel() const;
void InitWithNativeImpl(TSharedPtr<ISentryBreadcrumb> breadcrumbImpl);
TSharedPtr<ISentryBreadcrumb> GetNativeImpl();
private:
TSharedPtr<ISentryBreadcrumb> BreadcrumbNativeImpl;
};