42 lines
1.0 KiB
C++
42 lines
1.0 KiB
C++
// Copyright (c) 2024 Sentry. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Object.h"
|
|
#include "SentryTransactionContext.generated.h"
|
|
|
|
class ISentryTransactionContext;
|
|
|
|
UCLASS(BlueprintType)
|
|
class SENTRY_API USentryTransactionContext : public UObject
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
USentryTransactionContext();
|
|
|
|
/**
|
|
* Initializes transaction context with specified name and operation.
|
|
*
|
|
* @param Name Transaction name.
|
|
* @param Operation Operation name.
|
|
*/
|
|
UFUNCTION(BlueprintCallable, Category = "Sentry")
|
|
void Initialize(const FString& Name, const FString& Operation);
|
|
|
|
/** Gets transaction name. */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
FString GetName() const;
|
|
|
|
/** Gets operation name. */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
FString GetOperation() const;
|
|
|
|
void InitWithNativeImpl(TSharedPtr<ISentryTransactionContext> transactionContextImpl);
|
|
TSharedPtr<ISentryTransactionContext> GetNativeImpl();
|
|
|
|
private:
|
|
TSharedPtr<ISentryTransactionContext> SentryTransactionContextNativeImpl;
|
|
};
|