// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.AntiCheatCommon { /// /// Structure containing details about a required client/peer action /// public struct OnClientActionRequiredCallbackInfo : ICallbackInfo { /// /// Caller-specified context data /// public object ClientData { get; set; } /// /// The identifier of the client/peer that this action applies to. See the RegisterClient and RegisterPeer functions. /// public System.IntPtr ClientHandle { get; set; } /// /// The action that must be applied to the specified client/peer /// public AntiCheatCommonClientAction ClientAction { get; set; } /// /// Code indicating the reason for the action. This can be displayed to the affected player. /// public AntiCheatCommonClientActionReason ActionReasonCode { get; set; } /// /// String containing details about the action reason. This can be displayed to the affected player. /// public Utf8String ActionReasonDetailsString { get; set; } public Result? GetResultCode() { return null; } internal void Set(ref OnClientActionRequiredCallbackInfoInternal other) { ClientData = other.ClientData; ClientHandle = other.ClientHandle; ClientAction = other.ClientAction; ActionReasonCode = other.ActionReasonCode; ActionReasonDetailsString = other.ActionReasonDetailsString; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct OnClientActionRequiredCallbackInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private System.IntPtr m_ClientData; private System.IntPtr m_ClientHandle; private AntiCheatCommonClientAction m_ClientAction; private AntiCheatCommonClientActionReason m_ActionReasonCode; private System.IntPtr m_ActionReasonDetailsString; public object ClientData { get { object value; Helper.Get(m_ClientData, out value); return value; } set { Helper.Set(value, ref m_ClientData); } } public System.IntPtr ClientDataAddress { get { return m_ClientData; } } public System.IntPtr ClientHandle { get { return m_ClientHandle; } set { m_ClientHandle = value; } } public AntiCheatCommonClientAction ClientAction { get { return m_ClientAction; } set { m_ClientAction = value; } } public AntiCheatCommonClientActionReason ActionReasonCode { get { return m_ActionReasonCode; } set { m_ActionReasonCode = value; } } public Utf8String ActionReasonDetailsString { get { Utf8String value; Helper.Get(m_ActionReasonDetailsString, out value); return value; } set { Helper.Set(value, ref m_ActionReasonDetailsString); } } public void Set(ref OnClientActionRequiredCallbackInfo other) { ClientData = other.ClientData; ClientHandle = other.ClientHandle; ClientAction = other.ClientAction; ActionReasonCode = other.ActionReasonCode; ActionReasonDetailsString = other.ActionReasonDetailsString; } public void Set(ref OnClientActionRequiredCallbackInfo? other) { if (other.HasValue) { ClientData = other.Value.ClientData; ClientHandle = other.Value.ClientHandle; ClientAction = other.Value.ClientAction; ActionReasonCode = other.Value.ActionReasonCode; ActionReasonDetailsString = other.Value.ActionReasonDetailsString; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_ClientHandle); Helper.Dispose(ref m_ActionReasonDetailsString); } public void Get(out OnClientActionRequiredCallbackInfo output) { output = new OnClientActionRequiredCallbackInfo(); output.Set(ref this); } } }