34 lines
		
	
	
		
			867 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			867 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) 2024 Sentry. All Rights Reserved.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#pragma once
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#include "CoreMinimal.h"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#include "SentrySamplingContext.generated.h"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class ISentrySamplingContext;
							 | 
						|||
| 
								 | 
							
								class USentryTransactionContext;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								UCLASS(BlueprintType)
							 | 
						|||
| 
								 | 
							
								class SENTRY_API USentrySamplingContext : public UObject
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									GENERATED_BODY()
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								public:
							 | 
						|||
| 
								 | 
							
									USentrySamplingContext();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/** Gets transaction context used for sampling. */
							 | 
						|||
| 
								 | 
							
									UFUNCTION(BlueprintPure, Category = "Sentry")
							 | 
						|||
| 
								 | 
							
									USentryTransactionContext* GetTransactionContext() const;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/** Gets custom data used for sampling. */
							 | 
						|||
| 
								 | 
							
									UFUNCTION(BlueprintPure, Category = "Sentry")
							 | 
						|||
| 
								 | 
							
									TMap<FString, FString> GetCustomSamplingContext() const;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									void InitWithNativeImpl(TSharedPtr<ISentrySamplingContext> samplingContextImpl);
							 | 
						|||
| 
								 | 
							
									TSharedPtr<ISentrySamplingContext> GetNativeImpl();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								private:
							 | 
						|||
| 
								 | 
							
									TSharedPtr<ISentrySamplingContext> SentrySamplingContextNativeImpl;
							 | 
						|||
| 
								 | 
							
								};
							 |