// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Presence { /// /// Data for the function. /// public struct SetPresenceOptions { /// /// The Epic Account ID of the local, logged-in user making the request /// public EpicAccountId LocalUserId { get; set; } /// /// The handle to the presence update /// public PresenceModification PresenceModificationHandle { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SetPresenceOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_PresenceModificationHandle; public EpicAccountId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public PresenceModification PresenceModificationHandle { set { Helper.Set(value, ref m_PresenceModificationHandle); } } public void Set(ref SetPresenceOptions other) { m_ApiVersion = PresenceInterface.SetpresenceApiLatest; LocalUserId = other.LocalUserId; PresenceModificationHandle = other.PresenceModificationHandle; } public void Set(ref SetPresenceOptions? other) { if (other.HasValue) { m_ApiVersion = PresenceInterface.SetpresenceApiLatest; LocalUserId = other.Value.LocalUserId; PresenceModificationHandle = other.Value.PresenceModificationHandle; } } public void Dispose() { Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_PresenceModificationHandle); } } }