// 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;
}
}
}
}