// 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 class VerifyIdTokenCallbackInfo : ICallbackInfo, ISettable { /// /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. /// public Result ResultCode { get; private set; } /// /// Context that was passed into /// public object ClientData { get; private set; } /// /// The Product User ID associated with the ID token. /// public ProductUserId ProductUserId { get; private 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; private 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; private set; } /// /// The external account ID of the authenticated user. /// /// This value may be set to an empty string. /// public string AccountId { get; private set; } /// /// Platform that the user is connected from. /// /// This value may be set to an empty string. /// public string Platform { get; private 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 string DeviceType { get; private set; } public Result? GetResultCode() { return ResultCode; } internal void Set(VerifyIdTokenCallbackInfoInternal? other) { if (other != null) { 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; } } public void Set(object other) { Set(other as VerifyIdTokenCallbackInfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct VerifyIdTokenCallbackInfoInternal : ICallbackInfoInternal { 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; public Result ResultCode { get { return m_ResultCode; } } public object ClientData { get { object value; Helper.TryMarshalGet(m_ClientData, out value); return value; } } public System.IntPtr ClientDataAddress { get { return m_ClientData; } } public ProductUserId ProductUserId { get { ProductUserId value; Helper.TryMarshalGet(m_ProductUserId, out value); return value; } } public bool IsAccountInfoPresent { get { bool value; Helper.TryMarshalGet(m_IsAccountInfoPresent, out value); return value; } } public ExternalAccountType AccountIdType { get { return m_AccountIdType; } } public string AccountId { get { string value; Helper.TryMarshalGet(m_AccountId, out value); return value; } } public string Platform { get { string value; Helper.TryMarshalGet(m_Platform, out value); return value; } } public string DeviceType { get { string value; Helper.TryMarshalGet(m_DeviceType, out value); return value; } } } }