// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Connect { /// /// Contains information about an external account linked with a Product User ID. /// public class ExternalAccountInfo : ISettable { /// /// The Product User ID of the target user. /// public ProductUserId ProductUserId { get; set; } /// /// Display name, can be null if not set. /// public string DisplayName { get; set; } /// /// External account ID. /// /// May be set to an empty string if the AccountIdType of another user belongs /// to different account system than the local user's authenticated account. /// The availability of this field is dependent on account system specifics. /// public string AccountId { get; set; } /// /// The identity provider that owns the external account. /// public ExternalAccountType AccountIdType { get; set; } /// /// The POSIX timestamp for the time the user last logged in, or . /// public System.DateTimeOffset? LastLoginTime { get; set; } internal void Set(ExternalAccountInfoInternal? other) { if (other != null) { ProductUserId = other.Value.ProductUserId; DisplayName = other.Value.DisplayName; AccountId = other.Value.AccountId; AccountIdType = other.Value.AccountIdType; LastLoginTime = other.Value.LastLoginTime; } } public void Set(object other) { Set(other as ExternalAccountInfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct ExternalAccountInfoInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_ProductUserId; private System.IntPtr m_DisplayName; private System.IntPtr m_AccountId; private ExternalAccountType m_AccountIdType; private long m_LastLoginTime; public ProductUserId ProductUserId { get { ProductUserId value; Helper.TryMarshalGet(m_ProductUserId, out value); return value; } set { Helper.TryMarshalSet(ref m_ProductUserId, value); } } public string DisplayName { get { string value; Helper.TryMarshalGet(m_DisplayName, out value); return value; } set { Helper.TryMarshalSet(ref m_DisplayName, value); } } public string AccountId { get { string value; Helper.TryMarshalGet(m_AccountId, out value); return value; } set { Helper.TryMarshalSet(ref m_AccountId, value); } } public ExternalAccountType AccountIdType { get { return m_AccountIdType; } set { m_AccountIdType = value; } } public System.DateTimeOffset? LastLoginTime { get { System.DateTimeOffset? value; Helper.TryMarshalGet(m_LastLoginTime, out value); return value; } set { Helper.TryMarshalSet(ref m_LastLoginTime, value); } } public void Set(ExternalAccountInfo other) { if (other != null) { m_ApiVersion = ConnectInterface.CopyproductuserexternalaccountbyindexApiLatest; ProductUserId = other.ProductUserId; DisplayName = other.DisplayName; AccountId = other.AccountId; AccountIdType = other.AccountIdType; LastLoginTime = other.LastLoginTime; } } public void Set(object other) { Set(other as ExternalAccountInfo); } public void Dispose() { Helper.TryMarshalDispose(ref m_ProductUserId); Helper.TryMarshalDispose(ref m_DisplayName); Helper.TryMarshalDispose(ref m_AccountId); } } }