zworld-em/Plugins/sentry-unreal/Source/Sentry/Private/SentryUserFeedback.cpp

83 lines
1.9 KiB
C++
Raw Permalink Normal View History

2025-05-11 22:07:21 +08:00
// Copyright (c) 2022 Sentry. All Rights Reserved.
#include "SentryUserFeedback.h"
#include "SentryId.h"
#include "Interface/SentryUserFeedbackInterface.h"
#if PLATFORM_ANDROID
#include "Android/SentryUserFeedbackAndroid.h"
#elif PLATFORM_IOS || PLATFORM_MAC
#include "Apple/SentryUserFeedbackApple.h"
#elif PLATFORM_WINDOWS || PLATFORM_LINUX
#include "Desktop/SentryUserFeedbackDesktop.h"
#endif
void USentryUserFeedback::Initialize(USentryId* EventId)
{
#if PLATFORM_ANDROID
UserFeedbackNativeImpl = MakeShareable(new SentryUserFeedbackAndroid(EventId->GetNativeImpl()));
#elif PLATFORM_IOS || PLATFORM_MAC
UserFeedbackNativeImpl = MakeShareable(new SentryUserFeedbackApple(EventId->GetNativeImpl()));
#elif PLATFORM_WINDOWS || PLATFORM_LINUX
UserFeedbackNativeImpl = MakeShareable(new SentryUserFeedbackDesktop(EventId->GetNativeImpl()));
#endif
}
void USentryUserFeedback::SetName(const FString& Name)
{
if (!UserFeedbackNativeImpl)
return;
UserFeedbackNativeImpl->SetName(Name);
}
FString USentryUserFeedback::GetName() const
{
if(!UserFeedbackNativeImpl)
return FString();
return UserFeedbackNativeImpl->GetName();
}
void USentryUserFeedback::SetEmail(const FString& Email)
{
if (!UserFeedbackNativeImpl)
return;
UserFeedbackNativeImpl->SetEmail(Email);
}
FString USentryUserFeedback::GetEmail() const
{
if(!UserFeedbackNativeImpl)
return FString();
return UserFeedbackNativeImpl->GetEmail();
}
void USentryUserFeedback::SetComment(const FString& Comments)
{
if (!UserFeedbackNativeImpl)
return;
UserFeedbackNativeImpl->SetComment(Comments);
}
FString USentryUserFeedback::GetComment() const
{
if (!UserFeedbackNativeImpl)
return FString();
return UserFeedbackNativeImpl->GetComment();
}
void USentryUserFeedback::InitWithNativeImpl(TSharedPtr<ISentryUserFeedback> userFeedbackImpl)
{
UserFeedbackNativeImpl = userFeedbackImpl;
}
TSharedPtr<ISentryUserFeedback> USentryUserFeedback::GetNativeImpl()
{
return UserFeedbackNativeImpl;
}