// 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 struct Info { /// /// The status of the user /// public Status Status { get; set; } /// /// The Epic Account ID of the user /// public EpicAccountId UserId { get; set; } /// /// The product ID that the user is logged in from /// public Utf8String ProductId { get; set; } /// /// The version of the product the user is logged in from /// public Utf8String ProductVersion { get; set; } /// /// The platform of that the user is logged in from /// public Utf8String Platform { get; set; } /// /// The rich-text of the user /// public Utf8String RichText { get; set; } /// /// The first data record, or 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 Utf8String ProductName { get; set; } /// /// The integrated platform that the user is logged in with /// public Utf8String IntegratedPlatform { get; set; } internal void Set(ref InfoInternal other) { Status = other.Status; UserId = other.UserId; ProductId = other.ProductId; ProductVersion = other.ProductVersion; Platform = other.Platform; RichText = other.RichText; Records = other.Records; ProductName = other.ProductName; IntegratedPlatform = other.IntegratedPlatform; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct InfoInternal : IGettable, 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; private System.IntPtr m_IntegratedPlatform; public Status Status { get { return m_Status; } set { m_Status = value; } } public EpicAccountId UserId { get { EpicAccountId value; Helper.Get(m_UserId, out value); return value; } set { Helper.Set(value, ref m_UserId); } } public Utf8String ProductId { get { Utf8String value; Helper.Get(m_ProductId, out value); return value; } set { Helper.Set(value, ref m_ProductId); } } public Utf8String ProductVersion { get { Utf8String value; Helper.Get(m_ProductVersion, out value); return value; } set { Helper.Set(value, ref m_ProductVersion); } } public Utf8String Platform { get { Utf8String value; Helper.Get(m_Platform, out value); return value; } set { Helper.Set(value, ref m_Platform); } } public Utf8String RichText { get { Utf8String value; Helper.Get(m_RichText, out value); return value; } set { Helper.Set(value, ref m_RichText); } } public DataRecord[] Records { get { DataRecord[] value; Helper.Get(m_Records, out value, m_RecordsCount); return value; } set { Helper.Set(ref value, ref m_Records, out m_RecordsCount); } } public Utf8String ProductName { get { Utf8String value; Helper.Get(m_ProductName, out value); return value; } set { Helper.Set(value, ref m_ProductName); } } public Utf8String IntegratedPlatform { get { Utf8String value; Helper.Get(m_IntegratedPlatform, out value); return value; } set { Helper.Set(value, ref m_IntegratedPlatform); } } public void Set(ref Info other) { 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; IntegratedPlatform = other.IntegratedPlatform; } public void Set(ref Info? other) { if (other.HasValue) { m_ApiVersion = PresenceInterface.InfoApiLatest; 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; IntegratedPlatform = other.Value.IntegratedPlatform; } } public void Dispose() { Helper.Dispose(ref m_UserId); Helper.Dispose(ref m_ProductId); Helper.Dispose(ref m_ProductVersion); Helper.Dispose(ref m_Platform); Helper.Dispose(ref m_RichText); Helper.Dispose(ref m_Records); Helper.Dispose(ref m_ProductName); Helper.Dispose(ref m_IntegratedPlatform); } public void Get(out Info output) { output = new Info(); output.Set(ref this); } } }