// 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 class LinkAccountCallbackInfo : 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 Epic Account ID of the local user whose account has been linked during login /// public EpicAccountId LocalUserId { get; private set; } /// /// Optional data returned when ResultCode is . /// /// Once the user has logged in with their Epic Online Services account, the account will be linked with the external account supplied when was called. /// will be fired again with ResultCode in set to . /// public PinGrantInfo PinGrantInfo { get; private set; } /// /// The Epic Account ID that has been previously selected to be used for the current application. /// Applications should use this ID to authenticate with online backend services that store game-scoped data for users. /// /// Note: This ID may be different from LocalUserId if the user has previously merged Epic accounts into the account /// represented by LocalUserId, and one of the accounts that got merged had game data associated with it for the application. /// public EpicAccountId SelectedAccountId { get; private set; } public Result? GetResultCode() { return ResultCode; } internal void Set(LinkAccountCallbackInfoInternal? other) { if (other != null) { ResultCode = other.Value.ResultCode; ClientData = other.Value.ClientData; LocalUserId = other.Value.LocalUserId; PinGrantInfo = other.Value.PinGrantInfo; SelectedAccountId = other.Value.SelectedAccountId; } } public void Set(object other) { Set(other as LinkAccountCallbackInfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct LinkAccountCallbackInfoInternal : ICallbackInfoInternal { private Result m_ResultCode; private System.IntPtr m_ClientData; private System.IntPtr m_LocalUserId; private System.IntPtr m_PinGrantInfo; private System.IntPtr m_SelectedAccountId; 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 EpicAccountId LocalUserId { get { EpicAccountId value; Helper.TryMarshalGet(m_LocalUserId, out value); return value; } } public PinGrantInfo PinGrantInfo { get { PinGrantInfo value; Helper.TryMarshalGet(m_PinGrantInfo, out value); return value; } } public EpicAccountId SelectedAccountId { get { EpicAccountId value; Helper.TryMarshalGet(m_SelectedAccountId, out value); return value; } } } }