// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.AntiCheatServer { public struct ProtectMessageOptions { /// /// Locally unique value describing the remote user to whom the message will be sent /// public System.IntPtr ClientHandle { get; set; } /// /// The data to encrypt /// public System.ArraySegment Data { get; set; } /// /// The size in bytes of OutBuffer /// public uint OutBufferSizeBytes { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct ProtectMessageOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_ClientHandle; private uint m_DataLengthBytes; private System.IntPtr m_Data; private uint m_OutBufferSizeBytes; public System.IntPtr ClientHandle { set { m_ClientHandle = value; } } public System.ArraySegment Data { set { Helper.Set(value, ref m_Data, out m_DataLengthBytes); } } public uint OutBufferSizeBytes { set { m_OutBufferSizeBytes = value; } } public void Set(ref ProtectMessageOptions other) { m_ApiVersion = AntiCheatServerInterface.ProtectmessageApiLatest; ClientHandle = other.ClientHandle; Data = other.Data; OutBufferSizeBytes = other.OutBufferSizeBytes; } public void Set(ref ProtectMessageOptions? other) { if (other.HasValue) { m_ApiVersion = AntiCheatServerInterface.ProtectmessageApiLatest; ClientHandle = other.Value.ClientHandle; Data = other.Value.Data; OutBufferSizeBytes = other.Value.OutBufferSizeBytes; } } public void Dispose() { Helper.Dispose(ref m_ClientHandle); Helper.Dispose(ref m_Data); } } }