// Copyright (c) 2022 Sentry. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "SentryDataTypes.h" class ISentryBreadcrumb; class ISentryAttachment; class ISentryScope { public: virtual ~ISentryScope() = default; virtual void AddBreadcrumb(TSharedPtr breadcrumb) = 0; virtual void ClearBreadcrumbs() = 0; virtual void AddAttachment(TSharedPtr attachment) = 0; virtual void ClearAttachments() = 0; virtual void SetTagValue(const FString& key, const FString& value) = 0; virtual FString GetTagValue(const FString& key) const = 0; virtual void RemoveTag(const FString& key) = 0; virtual void SetTags(const TMap& tags) = 0; virtual TMap GetTags() const = 0; virtual void SetDist(const FString& dist) = 0; virtual FString GetDist() const = 0; virtual void SetEnvironment(const FString& environment) = 0; virtual FString GetEnvironment() const = 0; virtual void SetFingerprint(const TArray& fingerprint) = 0; virtual TArray GetFingerprint() const = 0; virtual void SetLevel(ESentryLevel level) = 0; virtual ESentryLevel GetLevel() const = 0; virtual void SetContext(const FString& key, const TMap& values) = 0; virtual void RemoveContext(const FString& key) = 0; virtual void SetExtraValue(const FString& key, const FString& value) = 0; virtual FString GetExtraValue(const FString& key) const = 0; virtual void RemoveExtra(const FString& key) = 0; virtual void SetExtras(const TMap& extras) = 0; virtual TMap GetExtras() const = 0; virtual void Clear() = 0; };