// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Connect { /// /// A structure that contains external login credentials. /// /// This is part of the input structure . /// /// /// public struct Credentials { /// /// External token associated with the user logging in. /// public Utf8String Token { get; set; } /// /// Type of external login; identifies the auth method to use. /// public ExternalCredentialType Type { get; set; } internal void Set(ref CredentialsInternal other) { Token = other.Token; Type = other.Type; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CredentialsInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_Token; private ExternalCredentialType m_Type; public Utf8String Token { get { Utf8String value; Helper.Get(m_Token, out value); return value; } set { Helper.Set(value, ref m_Token); } } public ExternalCredentialType Type { get { return m_Type; } set { m_Type = value; } } public void Set(ref Credentials other) { m_ApiVersion = ConnectInterface.CredentialsApiLatest; Token = other.Token; Type = other.Type; } public void Set(ref Credentials? other) { if (other.HasValue) { m_ApiVersion = ConnectInterface.CredentialsApiLatest; Token = other.Value.Token; Type = other.Value.Type; } } public void Dispose() { Helper.Dispose(ref m_Token); } public void Get(out Credentials output) { output = new Credentials(); output.Set(ref this); } } }