61 lines
2.0 KiB
C++
61 lines
2.0 KiB
C++
// Copyright (c) 2022 Sentry. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "SentryAttachment.generated.h"
|
|
|
|
class ISentryAttachment;
|
|
|
|
/**
|
|
* Additional file to store alongside an event or transaction.
|
|
*/
|
|
UCLASS(BlueprintType)
|
|
class SENTRY_API USentryAttachment : public UObject
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
/** Initializes an attachment with bytes and a filename.
|
|
*
|
|
* @param Data The data for the attachment.
|
|
* @param Filename The name of the attachment to display in Sentry.
|
|
* @param ContentType The content type of the attachment. Default is "application/octet-stream".
|
|
*/
|
|
UFUNCTION(BlueprintCallable, Category = "Sentry")
|
|
void InitializeWithData(const TArray<uint8>& Data, const FString& Filename, const FString& ContentType = FString(TEXT("application/octet-stream")));
|
|
|
|
/** Initializes an attachment with a path and a filename.
|
|
*
|
|
* @param Path The path string of the file to upload as an attachment.
|
|
* @param Filename The name of the attachment to display in Sentry.
|
|
* @param ContentType The content type of the attachment. Default is "application/octet-stream".
|
|
*/
|
|
UFUNCTION(BlueprintCallable, Category = "Sentry")
|
|
void InitializeWithPath(const FString& Path, const FString& Filename, const FString& ContentType = FString(TEXT("application/octet-stream")));
|
|
|
|
/** Gets the bytes of the attachment. */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
TArray<uint8> GetData() const;
|
|
|
|
/** Gets the path string of the attachment. */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
FString GetPath() const;
|
|
|
|
/** Gets the name of the attachment to display in Sentry. */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
FString GetFilename() const;
|
|
|
|
/** Gets the content type of the attachment. Default is "application/octet-stream". */
|
|
UFUNCTION(BlueprintPure, Category = "Sentry")
|
|
FString GetContentType() const;
|
|
|
|
void InitWithNativeImpl(TSharedPtr<ISentryAttachment> attachmentImpl);
|
|
TSharedPtr<ISentryAttachment> GetNativeImpl();
|
|
|
|
private:
|
|
TSharedPtr<ISentryAttachment> AttachmentNativeImpl;
|
|
};
|