68 lines
2.3 KiB
C
68 lines
2.3 KiB
C
|
|
// Copyright (c) 2023 Sentry. All Rights Reserved.
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "Containers/RingBuffer.h"
|
|||
|
|
#include "HAL/CriticalSection.h"
|
|||
|
|
|
|||
|
|
#include "Interface/SentryScopeInterface.h"
|
|||
|
|
|
|||
|
|
#if USE_SENTRY_NATIVE
|
|||
|
|
|
|||
|
|
class SentryBreadcrumbDesktop;
|
|||
|
|
class SentryEventDesktop;
|
|||
|
|
|
|||
|
|
class SentryScopeDesktop : public ISentryScope
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
SentryScopeDesktop();
|
|||
|
|
SentryScopeDesktop(const SentryScopeDesktop& Scope);
|
|||
|
|
virtual ~SentryScopeDesktop() override;
|
|||
|
|
|
|||
|
|
virtual void AddBreadcrumb(TSharedPtr<ISentryBreadcrumb> breadcrumb) override;
|
|||
|
|
virtual void ClearBreadcrumbs() override;
|
|||
|
|
virtual void AddAttachment(TSharedPtr<ISentryAttachment> attachment) override;
|
|||
|
|
virtual void ClearAttachments() override;
|
|||
|
|
virtual void SetTagValue(const FString& key, const FString& value) override;
|
|||
|
|
virtual FString GetTagValue(const FString& key) const override;
|
|||
|
|
virtual void RemoveTag(const FString& key) override;
|
|||
|
|
virtual void SetTags(const TMap<FString, FString>& tags) override;
|
|||
|
|
virtual TMap<FString, FString> GetTags() const override;
|
|||
|
|
virtual void SetDist(const FString& dist) override;
|
|||
|
|
virtual FString GetDist() const override;
|
|||
|
|
virtual void SetEnvironment(const FString& environment) override;
|
|||
|
|
virtual FString GetEnvironment() const override;
|
|||
|
|
virtual void SetFingerprint(const TArray<FString>& fingerprint) override;
|
|||
|
|
virtual TArray<FString> GetFingerprint() const override;
|
|||
|
|
virtual void SetLevel(ESentryLevel level) override;
|
|||
|
|
virtual ESentryLevel GetLevel() const override;
|
|||
|
|
virtual void SetContext(const FString& key, const TMap<FString, FString>& values) override;
|
|||
|
|
virtual void RemoveContext(const FString& key) override;
|
|||
|
|
virtual void SetExtraValue(const FString& key, const FString& value) override;
|
|||
|
|
virtual FString GetExtraValue(const FString& key) const override;
|
|||
|
|
virtual void RemoveExtra(const FString& key) override;
|
|||
|
|
virtual void SetExtras(const TMap<FString, FString>& extras) override;
|
|||
|
|
virtual TMap<FString, FString> GetExtras() const override;
|
|||
|
|
virtual void Clear() override;
|
|||
|
|
|
|||
|
|
void Apply(TSharedPtr<SentryEventDesktop> event);
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
FString Dist;
|
|||
|
|
FString Environment;
|
|||
|
|
|
|||
|
|
TArray<FString> FingerprintDesktop;
|
|||
|
|
|
|||
|
|
TMap<FString, FString> TagsDesktop;
|
|||
|
|
TMap<FString, FString> ExtraDesktop;
|
|||
|
|
|
|||
|
|
TMap<FString, TMap<FString, FString>> ContextsDesktop;
|
|||
|
|
|
|||
|
|
TRingBuffer<TSharedPtr<SentryBreadcrumbDesktop>> BreadcrumbsDesktop;
|
|||
|
|
|
|||
|
|
ESentryLevel LevelDesktop;
|
|||
|
|
|
|||
|
|
FCriticalSection CriticalSection;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif
|