// 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 CopyPresenceOptions { /// /// The Epic Account ID of the local, logged-in user making the request /// public EpicAccountId LocalUserId { get; set; } /// /// The Epic Account ID of the user whose cached presence data you want to copy from the cache /// public EpicAccountId TargetUserId { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CopyPresenceOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_TargetUserId; public EpicAccountId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public EpicAccountId TargetUserId { set { Helper.Set(value, ref m_TargetUserId); } } public void Set(ref CopyPresenceOptions other) { m_ApiVersion = PresenceInterface.CopypresenceApiLatest; LocalUserId = other.LocalUserId; TargetUserId = other.TargetUserId; } public void Set(ref CopyPresenceOptions? other) { if (other.HasValue) { m_ApiVersion = PresenceInterface.CopypresenceApiLatest; LocalUserId = other.Value.LocalUserId; TargetUserId = other.Value.TargetUserId; } } public void Dispose() { Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_TargetUserId); } } }