66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2022 Sentry. All Rights Reserved.
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "SentryUser.generated.h"
 | 
						|
 | 
						|
class ISentryUser;
 | 
						|
 | 
						|
/**
 | 
						|
 * Information about the user who triggered an event.
 | 
						|
 */
 | 
						|
UCLASS(BlueprintType)
 | 
						|
class SENTRY_API USentryUser : public UObject
 | 
						|
{
 | 
						|
	GENERATED_BODY()
 | 
						|
 | 
						|
public:
 | 
						|
	USentryUser();
 | 
						|
 | 
						|
	/** Sets the email address of the user. */
 | 
						|
	UFUNCTION(BlueprintCallable, Category = "Sentry")
 | 
						|
	void SetEmail(const FString& Email);
 | 
						|
 | 
						|
	/** Gets the email address of the user. */
 | 
						|
	UFUNCTION(BlueprintPure, Category = "Sentry")
 | 
						|
	FString GetEmail() const;
 | 
						|
 | 
						|
	/** Sets the ID of the user. */
 | 
						|
	UFUNCTION(BlueprintCallable, Category = "Sentry")
 | 
						|
	void SetId(const FString& Id);
 | 
						|
 | 
						|
	/** Gets the ID of the user. */
 | 
						|
	UFUNCTION(BlueprintPure, Category = "Sentry")
 | 
						|
	FString GetId() const;
 | 
						|
 | 
						|
	/** Sets the username of the user. */
 | 
						|
	UFUNCTION(BlueprintCallable, Category = "Sentry")
 | 
						|
	void SetUsername(const FString& Username);
 | 
						|
 | 
						|
	/** Gets the username of the user. */
 | 
						|
	UFUNCTION(BlueprintPure, Category = "Sentry")
 | 
						|
	FString GetUsername() const;
 | 
						|
 | 
						|
	/** Sets the IP address of the user. */
 | 
						|
	UFUNCTION(BlueprintCallable, Category = "Sentry")
 | 
						|
	void SetIpAddress(const FString& IpAddress);
 | 
						|
 | 
						|
	/** Gets the IP address of the user. */
 | 
						|
	UFUNCTION(BlueprintPure, Category = "Sentry")
 | 
						|
	FString GetIpAddress() const;
 | 
						|
 | 
						|
	/** Sets additional arbitrary fields related to the user. */
 | 
						|
	UFUNCTION(BlueprintCallable, Category = "Sentry")
 | 
						|
	void SetData(const TMap<FString, FString>& Data);
 | 
						|
 | 
						|
	/** Gets additional arbitrary fields related to the user. */
 | 
						|
	UFUNCTION(BlueprintPure, Category = "Sentry")
 | 
						|
	TMap<FString, FString> GetData() const;
 | 
						|
 | 
						|
	void InitWithNativeImpl(TSharedPtr<ISentryUser> userImpl);
 | 
						|
	TSharedPtr<ISentryUser> GetNativeImpl();
 | 
						|
 | 
						|
private:
 | 
						|
	TSharedPtr<ISentryUser> UserNativeImpl;
 | 
						|
};
 |