// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Auth { /// /// Output parameters for the Function. /// public struct VerifyIdTokenCallbackInfo : ICallbackInfo { /// /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. /// public Result ResultCode { get; set; } /// /// Context that was passed into /// public object ClientData { get; set; } /// /// Epic Account Services Application ID. /// public Utf8String ApplicationId { get; set; } /// /// Client ID of the authorized client. /// public Utf8String ClientId { get; set; } /// /// Product ID. /// public Utf8String ProductId { get; set; } /// /// Sandbox ID. /// public Utf8String SandboxId { get; set; } /// /// Deployment ID. /// public Utf8String DeploymentId { get; set; } /// /// Epic Account display name. /// /// This value may be set to an empty string. /// public Utf8String DisplayName { get; set; } /// /// Flag set to indicate whether external account information is present. /// Applications must always first check this value to be set before attempting /// to read the ExternalAccountIdType, ExternalAccountId, ExternalAccountDisplayName and Platform fields. /// /// This flag is set when the user has logged in to their Epic Account using external account credentials, e.g. through local platform authentication. /// public bool IsExternalAccountInfoPresent { get; set; } /// /// The identity provider that the user logged in with to their Epic Account. /// /// If bIsExternalAccountInfoPresent is set, this field describes the external account type. /// public ExternalAccountType ExternalAccountIdType { get; set; } /// /// The external account ID of the logged in user. /// /// This value may be set to an empty string. /// public Utf8String ExternalAccountId { get; set; } /// /// The external account display name. /// /// This value may be set to an empty string. /// public Utf8String ExternalAccountDisplayName { get; set; } /// /// Platform that the user is connected from. /// /// This value may be set to an empty string. /// public Utf8String Platform { get; set; } public Result? GetResultCode() { return ResultCode; } internal void Set(ref VerifyIdTokenCallbackInfoInternal other) { ResultCode = other.ResultCode; ClientData = other.ClientData; ApplicationId = other.ApplicationId; ClientId = other.ClientId; ProductId = other.ProductId; SandboxId = other.SandboxId; DeploymentId = other.DeploymentId; DisplayName = other.DisplayName; IsExternalAccountInfoPresent = other.IsExternalAccountInfoPresent; ExternalAccountIdType = other.ExternalAccountIdType; ExternalAccountId = other.ExternalAccountId; ExternalAccountDisplayName = other.ExternalAccountDisplayName; Platform = other.Platform; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct VerifyIdTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private Result m_ResultCode; private System.IntPtr m_ClientData; private System.IntPtr m_ApplicationId; private System.IntPtr m_ClientId; private System.IntPtr m_ProductId; private System.IntPtr m_SandboxId; private System.IntPtr m_DeploymentId; private System.IntPtr m_DisplayName; private int m_IsExternalAccountInfoPresent; private ExternalAccountType m_ExternalAccountIdType; private System.IntPtr m_ExternalAccountId; private System.IntPtr m_ExternalAccountDisplayName; private System.IntPtr m_Platform; public Result ResultCode { get { return m_ResultCode; } set { m_ResultCode = value; } } 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 Utf8String ApplicationId { get { Utf8String value; Helper.Get(m_ApplicationId, out value); return value; } set { Helper.Set(value, ref m_ApplicationId); } } public Utf8String ClientId { get { Utf8String value; Helper.Get(m_ClientId, out value); return value; } set { Helper.Set(value, ref m_ClientId); } } public Utf8String ProductId { get { Utf8String value; Helper.Get(m_ProductId, out value); return value; } set { Helper.Set(value, ref m_ProductId); } } public Utf8String SandboxId { get { Utf8String value; Helper.Get(m_SandboxId, out value); return value; } set { Helper.Set(value, ref m_SandboxId); } } public Utf8String DeploymentId { get { Utf8String value; Helper.Get(m_DeploymentId, out value); return value; } set { Helper.Set(value, ref m_DeploymentId); } } public Utf8String DisplayName { get { Utf8String value; Helper.Get(m_DisplayName, out value); return value; } set { Helper.Set(value, ref m_DisplayName); } } public bool IsExternalAccountInfoPresent { get { bool value; Helper.Get(m_IsExternalAccountInfoPresent, out value); return value; } set { Helper.Set(value, ref m_IsExternalAccountInfoPresent); } } public ExternalAccountType ExternalAccountIdType { get { return m_ExternalAccountIdType; } set { m_ExternalAccountIdType = value; } } public Utf8String ExternalAccountId { get { Utf8String value; Helper.Get(m_ExternalAccountId, out value); return value; } set { Helper.Set(value, ref m_ExternalAccountId); } } public Utf8String ExternalAccountDisplayName { get { Utf8String value; Helper.Get(m_ExternalAccountDisplayName, out value); return value; } set { Helper.Set(value, ref m_ExternalAccountDisplayName); } } public Utf8String Platform { get { Utf8String value; Helper.Get(m_Platform, out value); return value; } set { Helper.Set(value, ref m_Platform); } } public void Set(ref VerifyIdTokenCallbackInfo other) { ResultCode = other.ResultCode; ClientData = other.ClientData; ApplicationId = other.ApplicationId; ClientId = other.ClientId; ProductId = other.ProductId; SandboxId = other.SandboxId; DeploymentId = other.DeploymentId; DisplayName = other.DisplayName; IsExternalAccountInfoPresent = other.IsExternalAccountInfoPresent; ExternalAccountIdType = other.ExternalAccountIdType; ExternalAccountId = other.ExternalAccountId; ExternalAccountDisplayName = other.ExternalAccountDisplayName; Platform = other.Platform; } public void Set(ref VerifyIdTokenCallbackInfo? other) { if (other.HasValue) { ResultCode = other.Value.ResultCode; ClientData = other.Value.ClientData; ApplicationId = other.Value.ApplicationId; ClientId = other.Value.ClientId; ProductId = other.Value.ProductId; SandboxId = other.Value.SandboxId; DeploymentId = other.Value.DeploymentId; DisplayName = other.Value.DisplayName; IsExternalAccountInfoPresent = other.Value.IsExternalAccountInfoPresent; ExternalAccountIdType = other.Value.ExternalAccountIdType; ExternalAccountId = other.Value.ExternalAccountId; ExternalAccountDisplayName = other.Value.ExternalAccountDisplayName; Platform = other.Value.Platform; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_ApplicationId); Helper.Dispose(ref m_ClientId); Helper.Dispose(ref m_ProductId); Helper.Dispose(ref m_SandboxId); Helper.Dispose(ref m_DeploymentId); Helper.Dispose(ref m_DisplayName); Helper.Dispose(ref m_ExternalAccountId); Helper.Dispose(ref m_ExternalAccountDisplayName); Helper.Dispose(ref m_Platform); } public void Get(out VerifyIdTokenCallbackInfo output) { output = new VerifyIdTokenCallbackInfo(); output.Set(ref this); } } }