#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: JsonBlueprintUtilities

#include "Basic.hpp"

#include "JsonBlueprintUtilities_classes.hpp"
#include "JsonBlueprintUtilities_parameters.hpp"


SDK_NAMESPACE_START

// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.FromFile
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FFilePath&                 File                                                   (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FJsonObjectWrapper*              OutJsonObject                                          (Parm, OutParm, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::FromFile(const struct FFilePath& File, struct FJsonObjectWrapper* OutJsonObject)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "FromFile");

	Params::JsonBlueprintFunctionLibrary_FromFile Parms{};

	Parms.File = std::move(File);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (OutJsonObject != nullptr)
		*OutJsonObject = std::move(Parms.OutJsonObject);

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.FromString
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString&                    JsonString                                             (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FJsonObjectWrapper*              OutJsonObject                                          (Parm, OutParm, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::FromString(const class FString& JsonString, struct FJsonObjectWrapper* OutJsonObject)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "FromString");

	Params::JsonBlueprintFunctionLibrary_FromString Parms{};

	Parms.JsonString = std::move(JsonString);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (OutJsonObject != nullptr)
		*OutJsonObject = std::move(Parms.OutJsonObject);

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.GetField
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const class FString&                    FieldName                                              (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32*                                  OutValue                                               (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::GetField(const struct FJsonObjectWrapper& JsonObject, const class FString& FieldName, int32* OutValue)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "GetField");

	Params::JsonBlueprintFunctionLibrary_GetField Parms{};

	Parms.JsonObject = std::move(JsonObject);
	Parms.FieldName = std::move(FieldName);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (OutValue != nullptr)
		*OutValue = Parms.OutValue;

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.GetFieldNames
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// TArray<class FString>*                  FieldNames                                             (Parm, OutParm, ZeroConstructor, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::GetFieldNames(const struct FJsonObjectWrapper& JsonObject, TArray<class FString>* FieldNames)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "GetFieldNames");

	Params::JsonBlueprintFunctionLibrary_GetFieldNames Parms{};

	Parms.JsonObject = std::move(JsonObject);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (FieldNames != nullptr)
		*FieldNames = std::move(Parms.FieldNames);

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.HasField
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const class FString&                    FieldName                                              (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::HasField(const struct FJsonObjectWrapper& JsonObject, const class FString& FieldName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "HasField");

	Params::JsonBlueprintFunctionLibrary_HasField Parms{};

	Parms.JsonObject = std::move(JsonObject);
	Parms.FieldName = std::move(FieldName);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.SetField
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const class FString&                    FieldName                                              (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const int32&                            Value                                                  (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::SetField(const struct FJsonObjectWrapper& JsonObject, const class FString& FieldName, const int32& Value)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "SetField");

	Params::JsonBlueprintFunctionLibrary_SetField Parms{};

	Parms.JsonObject = std::move(JsonObject);
	Parms.FieldName = std::move(FieldName);
	Parms.Value = Value;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.StructToJsonString
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const int32&                            Struct                                                 (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class FString*                          OutJsonString                                          (Parm, OutParm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::StructToJsonString(const int32& Struct, class FString* OutJsonString)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "StructToJsonString");

	Params::JsonBlueprintFunctionLibrary_StructToJsonString Parms{};

	Parms.Struct = Struct;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (OutJsonString != nullptr)
		*OutJsonString = std::move(Parms.OutJsonString);

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.ToFile
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const struct FFilePath&                 File                                                   (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::ToFile(const struct FJsonObjectWrapper& JsonObject, const struct FFilePath& File)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "ToFile");

	Params::JsonBlueprintFunctionLibrary_ToFile Parms{};

	Parms.JsonObject = std::move(JsonObject);
	Parms.File = std::move(File);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function JsonBlueprintUtilities.JsonBlueprintFunctionLibrary.ToString
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FJsonObjectWrapper&        JsonObject                                             (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// class FString*                          OutJsonString                                          (Parm, OutParm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UJsonBlueprintFunctionLibrary::ToString(const struct FJsonObjectWrapper& JsonObject, class FString* OutJsonString)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("JsonBlueprintFunctionLibrary", "ToString");

	Params::JsonBlueprintFunctionLibrary_ToString Parms{};

	Parms.JsonObject = std::move(JsonObject);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	if (OutJsonString != nullptr)
		*OutJsonString = std::move(Parms.OutJsonString);

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
