// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.IntegratedPlatform { /// /// public struct Options { /// /// The type to be initialized. /// public Utf8String Type { get; set; } /// /// Identifies how to initialize the IntegratedPlatform. /// public IntegratedPlatformManagementFlags Flags { get; set; } /// /// Options specific to this integrated platform type. /// This parameter is either required or set to based on the platform type. /// /// public System.IntPtr InitOptions { get; set; } internal void Set(ref OptionsInternal other) { Type = other.Type; Flags = other.Flags; InitOptions = other.InitOptions; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct OptionsInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_Type; private IntegratedPlatformManagementFlags m_Flags; private System.IntPtr m_InitOptions; public Utf8String Type { get { Utf8String value; Helper.Get(m_Type, out value); return value; } set { Helper.Set(value, ref m_Type); } } public IntegratedPlatformManagementFlags Flags { get { return m_Flags; } set { m_Flags = value; } } public System.IntPtr InitOptions { get { return m_InitOptions; } set { m_InitOptions = value; } } public void Set(ref Options other) { m_ApiVersion = IntegratedPlatformInterface.OptionsApiLatest; Type = other.Type; Flags = other.Flags; InitOptions = other.InitOptions; } public void Set(ref Options? other) { if (other.HasValue) { m_ApiVersion = IntegratedPlatformInterface.OptionsApiLatest; Type = other.Value.Type; Flags = other.Value.Flags; InitOptions = other.Value.InitOptions; } } public void Dispose() { Helper.Dispose(ref m_Type); Helper.Dispose(ref m_InitOptions); } public void Get(out Options output) { output = new Options(); output.Set(ref this); } } }