#pragma once

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

// Package: McpProfileSys

#include "Basic.hpp"

#include "McpProfileSys_classes.hpp"
#include "McpProfileSys_parameters.hpp"


namespace SDK
{

// Function McpProfileSys.McpProfile.DeleteAllProfiles
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// struct FClientUrlContext                Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::DeleteAllProfiles(struct FClientUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "DeleteAllProfiles");

	Params::McpProfile_DeleteAllProfiles Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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


// Function McpProfileSys.McpProfile.DeleteProfile
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// struct FClientUrlContext                Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::DeleteProfile(struct FClientUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "DeleteProfile");

	Params::McpProfile_DeleteProfile Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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


// Function McpProfileSys.McpProfile.LockProfileForWrite
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// class FString                           Code                                                   (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32                                   Timeout                                                (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FDedicatedServerUrlContext       Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::LockProfileForWrite(const class FString& Code, int32 Timeout, struct FDedicatedServerUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "LockProfileForWrite");

	Params::McpProfile_LockProfileForWrite Parms{};

	Parms.Code = std::move(Code);
	Parms.Timeout = Timeout;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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


// Function McpProfileSys.McpProfile.QueryProfile
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// struct FBaseUrlContext                  Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::QueryProfile(struct FBaseUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "QueryProfile");

	Params::McpProfile_QueryProfile Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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


// Function McpProfileSys.McpProfile.QueryPublicProfile
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// struct FBaseUrlContext                  Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::QueryPublicProfile(struct FBaseUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "QueryPublicProfile");

	Params::McpProfile_QueryPublicProfile Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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


// Function McpProfileSys.McpProfile.UnlockProfileForWrite
// (Final, Net, NetReliable, NetRequest, Native, Event, Private, HasOutParams)
// Parameters:
// class FString                           Code                                                   (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FDedicatedServerUrlContext       Context                                                (Parm, OutParm, RepSkip, NativeAccessSpecifierPublic)

void UMcpProfile::UnlockProfileForWrite(const class FString& Code, struct FDedicatedServerUrlContext* Context)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("McpProfile", "UnlockProfileForWrite");

	Params::McpProfile_UnlockProfileForWrite Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

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

}

