46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) 2022 Sentry. All Rights Reserved.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "SentryId.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "Interface/SentryIdInterface.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if PLATFORM_ANDROID
							 | 
						||
| 
								 | 
							
								#include "Android/SentryIdAndroid.h"
							 | 
						||
| 
								 | 
							
								#elif PLATFORM_IOS || PLATFORM_MAC
							 | 
						||
| 
								 | 
							
								#include "Apple/SentryIdApple.h"
							 | 
						||
| 
								 | 
							
								#elif PLATFORM_WINDOWS || PLATFORM_LINUX
							 | 
						||
| 
								 | 
							
								#include "Desktop/SentryIdDesktop.h"
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								USentryId::USentryId()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if (USentryId::StaticClass()->GetDefaultObject() != this)
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
								#if PLATFORM_ANDROID
							 | 
						||
| 
								 | 
							
										SentryIdNativeImpl = MakeShareable(new SentryIdAndroid());
							 | 
						||
| 
								 | 
							
								#elif PLATFORM_IOS || PLATFORM_MAC
							 | 
						||
| 
								 | 
							
										SentryIdNativeImpl = MakeShareable(new SentryIdApple());
							 | 
						||
| 
								 | 
							
								#elif (PLATFORM_WINDOWS || PLATFORM_LINUX) && USE_SENTRY_NATIVE
							 | 
						||
| 
								 | 
							
										SentryIdNativeImpl = MakeShareable(new SentryIdDesktop());
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FString USentryId::ToString() const
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!SentryIdNativeImpl)
							 | 
						||
| 
								 | 
							
										return FString();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return SentryIdNativeImpl->ToString();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void USentryId::InitWithNativeImpl(TSharedPtr<ISentryId> idImpl)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									SentryIdNativeImpl = idImpl;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TSharedPtr<ISentryId> USentryId::GetNativeImpl()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return SentryIdNativeImpl;
							 | 
						||
| 
								 | 
							
								}
							 |