55 lines
1.6 KiB
C++
55 lines
1.6 KiB
C++
// Copyright (c) 2024 Sentry. All Rights Reserved.
|
|
|
|
#include "SentryTransactionContext.h"
|
|
|
|
#include "Interface/SentryTransactionContextInterface.h"
|
|
|
|
#if PLATFORM_ANDROID
|
|
#include "Android/SentryTransactionContextAndroid.h"
|
|
#elif PLATFORM_IOS || PLATFORM_MAC
|
|
#include "Apple/SentryTransactionContextApple.h"
|
|
#elif PLATFORM_WINDOWS || PLATFORM_LINUX
|
|
#include "Desktop/SentryTransactionContextDesktop.h"
|
|
#endif
|
|
|
|
USentryTransactionContext::USentryTransactionContext()
|
|
{
|
|
}
|
|
|
|
void USentryTransactionContext::Initialize(const FString& Name, const FString& Operation)
|
|
{
|
|
#if PLATFORM_ANDROID
|
|
SentryTransactionContextNativeImpl = MakeShareable(new SentryTransactionContextAndroid(Name, Operation));
|
|
#elif PLATFORM_IOS || PLATFORM_MAC
|
|
SentryTransactionContextNativeImpl = MakeShareable(new SentryTransactionContextApple(Name, Operation));
|
|
#elif PLATFORM_WINDOWS || PLATFORM_LINUX
|
|
SentryTransactionContextNativeImpl = MakeShareable(new SentryTransactionContextDesktop(Name, Operation));
|
|
#endif
|
|
}
|
|
|
|
FString USentryTransactionContext::GetName() const
|
|
{
|
|
if (!SentryTransactionContextNativeImpl)
|
|
return FString();
|
|
|
|
return SentryTransactionContextNativeImpl->GetName();
|
|
}
|
|
|
|
FString USentryTransactionContext::GetOperation() const
|
|
{
|
|
if (!SentryTransactionContextNativeImpl)
|
|
return FString();
|
|
|
|
return SentryTransactionContextNativeImpl->GetOperation();
|
|
}
|
|
|
|
void USentryTransactionContext::InitWithNativeImpl(TSharedPtr<ISentryTransactionContext> transactionContextImpl)
|
|
{
|
|
SentryTransactionContextNativeImpl = transactionContextImpl;
|
|
}
|
|
|
|
TSharedPtr<ISentryTransactionContext> USentryTransactionContext::GetNativeImpl()
|
|
{
|
|
return SentryTransactionContextNativeImpl;
|
|
}
|