// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Auth
{
///
/// Input parameters for the function.
///
public struct QueryIdTokenOptions
{
///
/// The Epic Account ID of the local authenticated user.
///
public EpicAccountId LocalUserId { get; set; }
///
/// The target Epic Account ID for which to query an ID token.
/// This account id may be the same as the input LocalUserId or another merged account id associated with the local user's Epic account.
///
/// An ID token for the selected account id of a locally authenticated user will always be readily available.
/// To retrieve it for the selected account ID, you can use directly after a successful user login.
///
public EpicAccountId TargetAccountId { get; set; }
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct QueryIdTokenOptionsInternal : ISettable, System.IDisposable
{
private int m_ApiVersion;
private System.IntPtr m_LocalUserId;
private System.IntPtr m_TargetAccountId;
public EpicAccountId LocalUserId
{
set
{
Helper.Set(value, ref m_LocalUserId);
}
}
public EpicAccountId TargetAccountId
{
set
{
Helper.Set(value, ref m_TargetAccountId);
}
}
public void Set(ref QueryIdTokenOptions other)
{
m_ApiVersion = AuthInterface.QueryidtokenApiLatest;
LocalUserId = other.LocalUserId;
TargetAccountId = other.TargetAccountId;
}
public void Set(ref QueryIdTokenOptions? other)
{
if (other.HasValue)
{
m_ApiVersion = AuthInterface.QueryidtokenApiLatest;
LocalUserId = other.Value.LocalUserId;
TargetAccountId = other.Value.TargetAccountId;
}
}
public void Dispose()
{
Helper.Dispose(ref m_LocalUserId);
Helper.Dispose(ref m_TargetAccountId);
}
}
}