// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Connect { /// /// 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; } /// /// The Product User ID associated with the ID token. /// public ProductUserId ProductUserId { get; set; } /// /// Flag set to indicate whether account information is available. /// Applications must always first check this value to be set before attempting /// to read the AccountType, AccountId, Platform and DeviceType fields. /// /// This flag is always false for users that authenticated using EOS Connect Device ID. /// public bool IsAccountInfoPresent { get; set; } /// /// The identity provider that the user authenticated with to EOS Connect. /// /// If bIsAccountInfoPresent is set, this field describes the external account type. /// public ExternalAccountType AccountIdType { get; set; } /// /// The external account ID of the authenticated user. /// /// This value may be set to an empty string. /// public Utf8String AccountId { get; set; } /// /// Platform that the user is connected from. /// /// This value may be set to an empty string. /// public Utf8String Platform { get; set; } /// /// Identifies the device type that the user is connected from. /// Can be used to securely verify that the user is connected through a real Console device. /// /// This value may be set to an empty string. /// public Utf8String DeviceType { 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; } public Result? GetResultCode() { return ResultCode; } internal void Set(ref VerifyIdTokenCallbackInfoInternal other) { ResultCode = other.ResultCode; ClientData = other.ClientData; ProductUserId = other.ProductUserId; IsAccountInfoPresent = other.IsAccountInfoPresent; AccountIdType = other.AccountIdType; AccountId = other.AccountId; Platform = other.Platform; DeviceType = other.DeviceType; ClientId = other.ClientId; ProductId = other.ProductId; SandboxId = other.SandboxId; DeploymentId = other.DeploymentId; } } [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_ProductUserId; private int m_IsAccountInfoPresent; private ExternalAccountType m_AccountIdType; private System.IntPtr m_AccountId; private System.IntPtr m_Platform; private System.IntPtr m_DeviceType; private System.IntPtr m_ClientId; private System.IntPtr m_ProductId; private System.IntPtr m_SandboxId; private System.IntPtr m_DeploymentId; 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 ProductUserId ProductUserId { get { ProductUserId value; Helper.Get(m_ProductUserId, out value); return value; } set { Helper.Set(value, ref m_ProductUserId); } } public bool IsAccountInfoPresent { get { bool value; Helper.Get(m_IsAccountInfoPresent, out value); return value; } set { Helper.Set(value, ref m_IsAccountInfoPresent); } } public ExternalAccountType AccountIdType { get { return m_AccountIdType; } set { m_AccountIdType = value; } } public Utf8String AccountId { get { Utf8String value; Helper.Get(m_AccountId, out value); return value; } set { Helper.Set(value, ref m_AccountId); } } public Utf8String Platform { get { Utf8String value; Helper.Get(m_Platform, out value); return value; } set { Helper.Set(value, ref m_Platform); } } public Utf8String DeviceType { get { Utf8String value; Helper.Get(m_DeviceType, out value); return value; } set { Helper.Set(value, ref m_DeviceType); } } 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 void Set(ref VerifyIdTokenCallbackInfo other) { ResultCode = other.ResultCode; ClientData = other.ClientData; ProductUserId = other.ProductUserId; IsAccountInfoPresent = other.IsAccountInfoPresent; AccountIdType = other.AccountIdType; AccountId = other.AccountId; Platform = other.Platform; DeviceType = other.DeviceType; ClientId = other.ClientId; ProductId = other.ProductId; SandboxId = other.SandboxId; DeploymentId = other.DeploymentId; } public void Set(ref VerifyIdTokenCallbackInfo? other) { if (other.HasValue) { ResultCode = other.Value.ResultCode; ClientData = other.Value.ClientData; ProductUserId = other.Value.ProductUserId; IsAccountInfoPresent = other.Value.IsAccountInfoPresent; AccountIdType = other.Value.AccountIdType; AccountId = other.Value.AccountId; Platform = other.Value.Platform; DeviceType = other.Value.DeviceType; ClientId = other.Value.ClientId; ProductId = other.Value.ProductId; SandboxId = other.Value.SandboxId; DeploymentId = other.Value.DeploymentId; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_ProductUserId); Helper.Dispose(ref m_AccountId); Helper.Dispose(ref m_Platform); Helper.Dispose(ref m_DeviceType); Helper.Dispose(ref m_ClientId); Helper.Dispose(ref m_ProductId); Helper.Dispose(ref m_SandboxId); Helper.Dispose(ref m_DeploymentId); } public void Get(out VerifyIdTokenCallbackInfo output) { output = new VerifyIdTokenCallbackInfo(); output.Set(ref this); } } }