// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Presence { /// /// All the known presence information for a specific user. This object must be released by calling . /// /// /// public class Info : ISettable { /// /// The status of the user /// public Status Status { get; set; } /// /// The Epic Online Services Account ID of the user /// public EpicAccountId UserId { get; set; } /// /// The product ID that the user is logged in from /// public string ProductId { get; set; } /// /// The version of the product the user is logged in from /// public string ProductVersion { get; set; } /// /// The platform of that the user is logged in from /// public string Platform { get; set; } /// /// The rich-text of the user /// public string RichText { get; set; } /// /// The first data record, or NULL if RecordsCount is not at least 1 /// public DataRecord[] Records { get; set; } /// /// The user-facing name for the product the user is logged in from /// public string ProductName { get; set; } internal void Set(InfoInternal? other) { if (other != null) { Status = other.Value.Status; UserId = other.Value.UserId; ProductId = other.Value.ProductId; ProductVersion = other.Value.ProductVersion; Platform = other.Value.Platform; RichText = other.Value.RichText; Records = other.Value.Records; ProductName = other.Value.ProductName; } } public void Set(object other) { Set(other as InfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct InfoInternal : ISettable, System.IDisposable { private int m_ApiVersion; private Status m_Status; private System.IntPtr m_UserId; private System.IntPtr m_ProductId; private System.IntPtr m_ProductVersion; private System.IntPtr m_Platform; private System.IntPtr m_RichText; private int m_RecordsCount; private System.IntPtr m_Records; private System.IntPtr m_ProductName; public Status Status { get { return m_Status; } set { m_Status = value; } } public EpicAccountId UserId { get { EpicAccountId value; Helper.TryMarshalGet(m_UserId, out value); return value; } set { Helper.TryMarshalSet(ref m_UserId, value); } } public string ProductId { get { string value; Helper.TryMarshalGet(m_ProductId, out value); return value; } set { Helper.TryMarshalSet(ref m_ProductId, value); } } public string ProductVersion { get { string value; Helper.TryMarshalGet(m_ProductVersion, out value); return value; } set { Helper.TryMarshalSet(ref m_ProductVersion, value); } } public string Platform { get { string value; Helper.TryMarshalGet(m_Platform, out value); return value; } set { Helper.TryMarshalSet(ref m_Platform, value); } } public string RichText { get { string value; Helper.TryMarshalGet(m_RichText, out value); return value; } set { Helper.TryMarshalSet(ref m_RichText, value); } } public DataRecord[] Records { get { DataRecord[] value; Helper.TryMarshalGet(m_Records, out value, m_RecordsCount); return value; } set { Helper.TryMarshalSet(ref m_Records, value, out m_RecordsCount); } } public string ProductName { get { string value; Helper.TryMarshalGet(m_ProductName, out value); return value; } set { Helper.TryMarshalSet(ref m_ProductName, value); } } public void Set(Info other) { if (other != null) { m_ApiVersion = PresenceInterface.InfoApiLatest; Status = other.Status; UserId = other.UserId; ProductId = other.ProductId; ProductVersion = other.ProductVersion; Platform = other.Platform; RichText = other.RichText; Records = other.Records; ProductName = other.ProductName; } } public void Set(object other) { Set(other as Info); } public void Dispose() { Helper.TryMarshalDispose(ref m_UserId); Helper.TryMarshalDispose(ref m_ProductId); Helper.TryMarshalDispose(ref m_ProductVersion); Helper.TryMarshalDispose(ref m_Platform); Helper.TryMarshalDispose(ref m_RichText); Helper.TryMarshalDispose(ref m_Records); Helper.TryMarshalDispose(ref m_ProductName); } } }