118 lines
2.5 KiB
C++
118 lines
2.5 KiB
C++
// Copyright (c) 2022 Sentry. All Rights Reserved.
|
|
|
|
#include "SentryBreadcrumb.h"
|
|
|
|
#include "Interface/SentryBreadcrumbInterface.h"
|
|
|
|
#if PLATFORM_ANDROID
|
|
#include "Android/SentryBreadcrumbAndroid.h"
|
|
#elif PLATFORM_IOS || PLATFORM_MAC
|
|
#include "Apple/SentryBreadcrumbApple.h"
|
|
#elif PLATFORM_WINDOWS || PLATFORM_LINUX
|
|
#include "Desktop/SentryBreadcrumbDesktop.h"
|
|
#endif
|
|
|
|
USentryBreadcrumb::USentryBreadcrumb()
|
|
{
|
|
if (USentryBreadcrumb::StaticClass()->GetDefaultObject() != this)
|
|
{
|
|
#if PLATFORM_ANDROID
|
|
BreadcrumbNativeImpl = MakeShareable(new SentryBreadcrumbAndroid());
|
|
#elif PLATFORM_IOS || PLATFORM_MAC
|
|
BreadcrumbNativeImpl = MakeShareable(new SentryBreadcrumbApple());
|
|
#elif (PLATFORM_WINDOWS || PLATFORM_LINUX) && USE_SENTRY_NATIVE
|
|
BreadcrumbNativeImpl = MakeShareable(new SentryBreadcrumbDesktop());
|
|
#endif
|
|
}
|
|
}
|
|
|
|
void USentryBreadcrumb::SetMessage(const FString& Message)
|
|
{
|
|
if (!BreadcrumbNativeImpl)
|
|
return;
|
|
|
|
BreadcrumbNativeImpl->SetMessage(Message);
|
|
}
|
|
|
|
FString USentryBreadcrumb::GetMessage() const
|
|
{
|
|
if(!BreadcrumbNativeImpl)
|
|
return FString();
|
|
|
|
return BreadcrumbNativeImpl->GetMessage();
|
|
}
|
|
|
|
void USentryBreadcrumb::SetType(const FString& Type)
|
|
{
|
|
if (!BreadcrumbNativeImpl)
|
|
return;
|
|
|
|
BreadcrumbNativeImpl->SetType(Type);
|
|
}
|
|
|
|
FString USentryBreadcrumb::GetType() const
|
|
{
|
|
if(!BreadcrumbNativeImpl)
|
|
return FString();
|
|
|
|
return BreadcrumbNativeImpl->GetType();
|
|
}
|
|
|
|
void USentryBreadcrumb::SetCategory(const FString& Category)
|
|
{
|
|
if (!BreadcrumbNativeImpl)
|
|
return;
|
|
|
|
BreadcrumbNativeImpl->SetCategory(Category);
|
|
}
|
|
|
|
FString USentryBreadcrumb::GetCategory() const
|
|
{
|
|
if(!BreadcrumbNativeImpl)
|
|
return FString();
|
|
|
|
return BreadcrumbNativeImpl->GetCategory();
|
|
}
|
|
|
|
void USentryBreadcrumb::SetData(const TMap<FString, FString>& Data)
|
|
{
|
|
if (!BreadcrumbNativeImpl)
|
|
return;
|
|
|
|
BreadcrumbNativeImpl->SetData(Data);
|
|
}
|
|
|
|
TMap<FString, FString> USentryBreadcrumb::GetData() const
|
|
{
|
|
if(!BreadcrumbNativeImpl)
|
|
return TMap<FString, FString>();
|
|
|
|
return BreadcrumbNativeImpl->GetData();
|
|
}
|
|
|
|
void USentryBreadcrumb::SetLevel(ESentryLevel Level)
|
|
{
|
|
if (!BreadcrumbNativeImpl)
|
|
return;
|
|
|
|
BreadcrumbNativeImpl->SetLevel(Level);
|
|
}
|
|
|
|
ESentryLevel USentryBreadcrumb::GetLevel() const
|
|
{
|
|
if(!BreadcrumbNativeImpl)
|
|
return ESentryLevel::Debug;
|
|
|
|
return BreadcrumbNativeImpl->GetLevel();
|
|
}
|
|
|
|
void USentryBreadcrumb::InitWithNativeImpl(TSharedPtr<ISentryBreadcrumb> breadcrumbImpl)
|
|
{
|
|
BreadcrumbNativeImpl = breadcrumbImpl;
|
|
}
|
|
|
|
TSharedPtr<ISentryBreadcrumb> USentryBreadcrumb::GetNativeImpl()
|
|
{
|
|
return BreadcrumbNativeImpl;
|
|
}
|